81,094
社区成员
发帖
与我相关
我的任务
分享
PreparedStatement stmt = connection.prepareStatement("UPDATE tb set aaa=? where id=1 ");
stmt.setObject(1, new myClass());
stmt.executeUpdate();
PreparedStatement stmt = connection.prepareStatement("select aaa from tb where id=1");
ResultSet res = stmt.executeQuery();
res.next();
Object obj = res.getObject(1);
trace(obj);
public class Test {
/**
* mysql> describe test;
* +-----------+------------+------+-----+---------+----------------+
* | Field | Type | Null | Key | Default | Extra |
* +-----------+------------+------+-----+---------+----------------+
* | id | bigint(20) | NO | PRI | NULL | auto_increment |
* | age | int(11) | YES | | NULL | |
* | firstname | blob | YES | | NULL | |
* | LASTNAME | blob | YES | | NULL | |
* +-----------+------------+------+-----+---------+----------------+
*/
public static void main(String[] args) throws Exception {
Class.forName(com.mysql.jdbc.Driver.class.getName());
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/zjjzyz", "root", "zhangyz");
PreparedStatement ps=conn.prepareStatement("INSERT INTO test(AGE, FIRSTNAME, LASTNAME) VALUES(0, ?, ?)");
ps.setObject(1, new Myclass("张", "zhang"));
ps.setObject(2, new Myclass("三", "san"));
ps.execute();
ps.close();
ps=conn.prepareStatement("SELECT id, AGE, FIRSTNAME, LASTNAME FROM test") ;
ResultSet rs=ps.executeQuery();
while(rs.next()){
System.out.println(readObjectFromDataBase(rs.getBytes(3)));
System.out.println(readObjectFromDataBase(rs.getBytes(4)));
}
rs.close();
ps.close();
conn.close();
}
static Object readObjectFromDataBase(byte[] bs) throws Exception{
ObjectInputStream in=new ObjectInputStream(new ByteArrayInputStream(bs));
return in.readObject();
}
}
class Myclass implements Serializable {
private static final long serialVersionUID = 1L;
private String zhongWen;
private String english;
public Myclass(String zhongWen, String english) {
super();
this.zhongWen = zhongWen;
this.english = english;
}
public String getZhongWen() {
return zhongWen;
}
public void setZhongWen(String zhongWen) {
this.zhongWen = zhongWen;
}
public String getEnglish() {
return english;
}
public void setEnglish(String english) {
this.english = english;
}
@Override
public String toString() {
return "Myclass [english=" + english + ", zhongWen=" + zhongWen + "]";
}
}