第42讲jdbc数据维护操作和批量_第1页
第42讲jdbc数据维护操作和批量_第2页
第42讲jdbc数据维护操作和批量_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JDBC数据维护操作(一)-Java核心技术-目标插入数据修改数据删除数据插入数据——代码片断——

publicstaticvoidmain(String[]args){try{……//连接数据库 Stringsql="insertintoPosition

(cPositionCode,vDescription,iBudgetedStrength,siYear,iCurrentStrength)"+"values(?,?,?,?,?)";

PreparedStatementps=con.prepareStatement(sql); ps.setString(1,"0016"); ps.setString(2,"Salesman"); ps.setInt(3,20); ps.setInt(4,2001); ps.setInt(5,18);

intret=ps.executeUpdate();

if(ret>0){ System.out.println("记录插入成功!!"); }else{ System.out.println("记录插入失败!!"); }

……//释放资源 }catch(Exceptione){ e.printStackTrace();}}

准备SQL语句,最好在insert语句中写明要插入数据的字段名设置参数,应该注意所使用参数的数据类型执行SQL语句判断执行结果,如果返回值大于1则表明成功插入1条记录示例2.2.7请在示例2.2.4基础上增加新增员工信息记录的功能。

/***新增加员工信息*@paramemployee*/publicvoidinsertEmployee(Employeeemployee)throwsException;publicvoidinsertEmployee(Employeeemployee)throwsException{

Employeeem=this.getEmployeeById(employee.getEmployeeId());if(em==null){//判断新增员工信息是否已存在Listparams=newArrayList();//员工信息插入SQL语句

StringinsertStr="insertintotbl_employee(employeeid,name,type,deptid,post,postCategory,postRank,degree,duty,sex,idcard,entryDate,mobile,address,memo)values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";//SQL语句参数

params.add(employee.getEmployeeId());//。。。省略相关代码intnum=this.executeSQL(insertStr,params);}else{...}}示例2.2.7请在示例2.2.4基础上增加新增员工信息记录的功能。修改测试类,增加新增测试方法publicstaticvoidinsertDemo()throwsException{

IEmployeeManagereManager=newEmployeeManager();//创建员工表Dao//创建新员工信息

Employeeemployee=newEmployee();//设置员工基本信息employee.setEmployeeId("20100818002");employee.setName("许兵");...

eManager.insertEmployee(employee);Employeeem=eManager.getEmployeeById("20100818002");if(em!=null)System.out.println("员工"+em.getName()+"的信息已插入成功!");}练习练习2.2.4请在练习2.2.3基础之上,为工作经历表、招聘合同表添加插入操作。数据表功能定义描述tbl_Contract(招聘合同表)voidinsertContract(Contractcontract)新增职员合同记录。tbl_Career(工作经历表)voidinsertCareer(Careercareer)新增职员工作经历记录。批量插入数据

如果一次要插入多条数据,采用如上方法执行效率不高,有什么解决办法?Statement对象的executeBatch()方法采用批量提交的方式,使用addBatch(Stringsql)方法添加批量操作SQL语句,然后用executeBatch()方法对所提交的多个SQL语句进行批量操作。注:批量操作只适用于插入、修改和删除操作。publicint[]executeBatch()throwsSQLException;该语句不能执行具有返回结果集的SQL语句批量插入数据示例——代码片断——

……//连接数据库 Stringsql1="insertintoPosition

(cPositionCode,vDescription,iBudgetedStrength,siYear,iCurrentStrength)"+"values("0016","Salesman",20,2001,18)"; Stringsql2="insertintoPosition

values("0017","typist",21,2000,19)"; Stringsql3="insertintoPosition

values("0018","accountant",20,2000,18)";

Statementstm=con.createStatement(); stm.addBatch(sql1);stm.addBatch(sql2);stm.addBatch(sql3);

int[]ret=stm.executeBatch();

if(ret[0]>0){ System.out.println("记录插入成功!!"); }else{ System.out.println("记录插入失败!!"); }

……//释放资源准备3个插入SQL语句创建Statement对象将3个SQL语句

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论