如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第三章课程目标课程定位JDBC的概念JDBC的任务JDBC驱动程序分类JDBC连接类型1JDBC驱动程序分类JDBC驱动程序分类JDBC驱动程序分类JDBC连接类型DriverManager类DriverManager的常用方法Connection接口对象模型Connection的常用方法示例Statement接口Statement的常用方法示例ResultSet接口可滚动的结果集可更新的结果集ResultSet接口(续)ResultSet的常用方法示例ResultSetMetaData接口ResultSetMetaData的常用方法示例PreparedStatement接口作为Statement的子类,PreparedStatement继承了Statement的所有函数,PreparedStatement对象的创建和一般对象的创建类似,如:Connectioncon;……PreparedStatestr=con.prepareStatement("updaterootssetsno=?wheresname=?”);因为SQL语句需要DBMS编译,所以最好将多次用到的语句预编译,并保存在PreparedStatement对象中。PreparedStatement和Statement的有点PreparedStatement的常用方法示例CallableStatement接口CallableStatement的常用方法示例-无返回值示例-存储过程代码Java代码本章总结动手实践:通讯录通讯录软件的实现我们在姓名和电话号码中填写正确的记录后,如下图所示:如果输入的姓名或者是电话号码为空点击添加按钮则会提示出错,弹出以下对话框。基本思路(1)数据库的建立(2)数据库操作类的实现在构造函数中调connect()方法,connect()方法是连接数据库的方法,代码如下:publicDAOoperation(StringserverName,StringdataBase,StringuserName,StringpassWord){this.connect(serverName,dataBase,userName,passWord);}用来获得vector数据的方法:有两个Vector对象,第一个用来存放数据库中表的一行,另一个用来存放保存数据行Vector对象,也就是第一个Vector对象中保存着表的一行,第二个Vector对象中保存着表的所有行。代码如下:publicVectorgetData(){Vectordata=newVector();try{st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=st.executeQuery("selectname,numberfromroots");ResultSetMetaDatarsmd=rs.getMetaData();intnum=rsmd.getColumnCount();Vectorrow;while(rs.next()){row=newVector();for(inti=1;i<num+1;i++){Strings=rs.getString(i);row.add(s);}data.add(row);}}catch(Exceptione){System.out.println("查询数据出错......");e.printStackTrace();}returndata;}用来向数据库插入数据的方法代码如下:publicbooleanaddData(Stringname,Stringnumber){booleanflag=false;try{st.executeUpdate("insertintorootsvalues('"+name+"','"+number+"')");flag=true;}catch(Exceptione){System.out.println("插入数据出错......");e.printStackTrace();}returnflag;}(3)窗体类的实现publicDataTableFrame(DAOoperationdao){super("通讯录");title.add("姓名");title.add("电话号码");JLabellabelName=newJLabel("