如何在sqlserver2005中存放java序列化对象?[急] 添加到一个vector里面,然后把他们读出来 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 随便转换类型然后出现错误会提示正确类或数据的类型google 现在主要是不清楚sqlserver2005里,保存对象用的数据类型是什么,从DB中取的时候,应该转换成哪种java类型才不会出现类型转换错误的问题。哪位高手指点指点呀。。 哇哈哈,自己摸索出来啦.DB中用binary类型来保存持续化对象,保存和取出的时候都用binaryStream就OK啦,下面是代码:public class TestSaveObjInDB { private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=cashfix"; private static final String USER = "sa"; private static final String PWD = ""; /** * 获取连接 */ public Connection getConnection() throws SQLException, ClassNotFoundException { Class.forName(DRIVER); Connection conn = DriverManager.getConnection(URL, USER, PWD); return conn; } public static void main(String[] args) throws SQLException, ClassNotFoundException, IOException { String sql = "insert into testobj values(?)"; String sql2 = "select obj from testobj"; Persion p = new Persion(); //写入流中 ByteArrayOutputStream bout = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(bout); out.writeObject(p); //从流中读 ByteArrayInputStream in = new ByteArrayInputStream(bout.toByteArray()); //存入DB TestSaveObjInDB t = new TestSaveObjInDB(); Connection conn = t.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setBinaryStream(1,in,in.available()); pstmt.execute(); conn.commit(); //从DB中取 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql2); while(rs.next()) { InputStream b = rs.getBinaryStream("obj"); System.out.println("b---->" + b); //写入输入流中 ObjectInputStream oin = new ObjectInputStream(b); Persion p2 = (Persion)oin.readObject(); System.out.println("姓名 : " + p2.getName()); System.out.println("年龄 : " + p2.getAge()); System.out.println("公司: " + p2.getCompany()); } }}HOHO... ~O~ 关于java正则的问题 java编程问题 菜鸟,急求答案,谢谢 for循环打印点阵图 java 本人把身上所有分送上(640) 请问怎么判断一个int型为null poi写excel出现内存溢出如何解决(急,在线等) C程序语言中调用JAVA方法 简单问题,解决立即送分 java awt 右键弹出菜单问题 如何打开SWT中的Combo的选项列表?
然后出现错误会提示正确类或数据的类型
google
private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=cashfix";
private static final String USER = "sa";
private static final String PWD = "";
/**
* 获取连接
*/
public Connection getConnection() throws SQLException, ClassNotFoundException {
Class.forName(DRIVER);
Connection conn = DriverManager.getConnection(URL, USER, PWD);
return conn;
}
public static void main(String[] args) throws SQLException, ClassNotFoundException, IOException {
String sql = "insert into testobj values(?)";
String sql2 = "select obj from testobj";
Persion p = new Persion();
//写入流中
ByteArrayOutputStream bout = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(bout);
out.writeObject(p);
//从流中读
ByteArrayInputStream in = new ByteArrayInputStream(bout.toByteArray());
//存入DB
TestSaveObjInDB t = new TestSaveObjInDB();
Connection conn = t.getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setBinaryStream(1,in,in.available());
pstmt.execute();
conn.commit();
//从DB中取
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql2);
while(rs.next()) {
InputStream b = rs.getBinaryStream("obj");
System.out.println("b---->" + b);
//写入输入流中
ObjectInputStream oin = new ObjectInputStream(b);
Persion p2 = (Persion)oin.readObject();
System.out.println("姓名 : " + p2.getName());
System.out.println("年龄 : " + p2.getAge());
System.out.println("公司: " + p2.getCompany());
}
}
}HOHO... ~O~