欢迎来到天天文库
浏览记录
ID:38776086
大小:16.82 KB
页数:4页
时间:2019-06-19
《利用数据库存储类对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、createtable[Objects]([id][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Object][binary](8000)NULL,CONSTRAINT[PK_Objects]PRIMARYKEYCLUSTERED([id])ON[PRIMARY])ON[PRIMARY]Student.javapackagedatabasevisit;publicclassStudentimplementsSerializable{publicStringgetSid(){returnsid;}pu
2、blicvoidsetSid(Stringsid){this.sid=sid;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}privateStringsid;privateStringname;publicStudent(){}publicStudent(Stringsid,Stringname){this.sid=sid;this.name=name;}publicStringtoString(){returnthis.sid+
3、":"+this.name;}}packagedatabasevisit;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStateme
4、nt;importjava.sql.ResultSet;importjava.sql.SQLException;publicclassUsingDatabaseStorageClassObject{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubStudents1=newStudent("000001","张满");//创建支持类变量序列化的类变量BinaryObjectHandlerboh=newBinaryObjectHandl
5、er();//将学生类变量存储到数据库中boh.storeObject(s1.getSid(),s1);Students2=(Student)boh.restoreObject(s1.getSid());System.out.println(s2.getName());}}classBinaryObjectHandler{Connectioncon=null;PreparedStatementpstm=null;ResultSetrs=null;publicBinaryObjectHandler(){try{Class.forName("com
6、.microsoft.sqlserver.jdbc.SQLServerDriver");con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=test","sa","jocean");}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(SQLExceptione){//TODOAuto-generatedcatchblo
7、cke.printStackTrace();}}publicvoidstoreObject(Stringid,Objectobj){try{PreparedStatementpstm=con.prepareStatement("insertintoObjectsvalues(?,?)");pstm.setString(1,id);ByteArrayOutputStreambaos=newByteArrayOutputStream();ObjectOutputStreamoos=newObjectOutputStream(baos);oos.wr
8、iteObject(obj);oos.close();byte[]binaryData=baos.toByteArray();pstm.setByte
此文档下载收益归作者所有