DBUtils工具类,听说你没用过?( 三 )

插入之前数据库中原始数据为:
DBUtils工具类,听说你没用过?文章插图
在插入之后数据库中数据为:
DBUtils工具类,听说你没用过?文章插图
(2)修改student表中的数据**说明:利用ps.setObject(1, “小华”);ps.setObject(2, 3);预期目的是为了修改行号为3 , 列号为2的数据 , 由"郑"修改为"小华" , 运行后结果如图所示 。
//修改student表的一条记录 @Test public void testUpdate() {//1.获取数据库连接Connection con = null;PreparedStatement ps = null;try {con = JDBCUtils.getConnection();//2.预编译SQL语句 , 返回PraparedStatement的实例String sql = "update student set name =? where id = ?";ps = con.prepareStatement(sql);//3.填充占位符ps.setObject(1, "小华");ps.setObject(2, 3);//4.执行SQLps.execute();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {//5.资源的关闭JDBCUtils.closeResource(con,ps);} }修改之前数据库中原始数据为:
DBUtils工具类,听说你没用过?文章插图
在修改之后数据库中数据为:
DBUtils工具类,听说你没用过?文章插图
(3)通用的增删改操作数据库
说明:

  • 该方法不仅仅适用于该表 , 其他表也适用;
  • 该方法根据testCommonUpdate方法中sql语句的改变而进行不同的操作;可实现增(insert)、删(delete)、改(update)操作;
  • update方法中的args为可变参数 , sql中的占位符的个数与可变形参长度相同;
  • 利用update(sql , 2)方法 , 预期目的是删除行号为2的数据 , 运行后结果如图所示 。
@Test public void testCommonUpdate() {String sql = "delete from student where id = ?";update(sql,2); } //通用的增删改操作 public void update(String sql,Object ...args){//sql中占位符的个数与可变形参长度相同Connection con = null;PreparedStatement ps = null;try {//1.获取数据库连接con = JDBCUtils.getConnection();//2.预编译SQL语句 , 返回PraparedStatement的实例ps = con.prepareStatement(sql);//3.填充占位符for(int i=0;i删除之前数据库中原始数据为:
DBUtils工具类,听说你没用过?文章插图
删除之后数据库中数据为:
DBUtils工具类,听说你没用过?文章插图
(4)查询数据库中的数据
package com.javaweb3.preparedstatement;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;import java.sql.ResultSet;import org.junit.Test;import com.javaweb4.util.JDBCUtils;/** * 针对于student表的查询 * @author 敷衍zgf * */public class StudentForQuery { @Test public void testQuery1(){Connection con = null;PreparedStatement ps = null;//执行并返回结果集ResultSet resultSet = null;try {con = JDBCUtils.getConnection();String sql = "select id,name,email,birth from student where id = ?";ps = con.prepareStatement(sql);ps.setObject(1, 1);resultSet = ps.executeQuery();//处理结果集if(resultSet.next()) {//判断结果集的下一条是否有数据 , 如果有数据返回true,并且指针下移;如果返回false,指针不会下移//获取当前字条数据的各个字段值int id = resultSet.getInt(1);String name = resultSet.getString(2);String email = resultSet.getString(3);Date birth = resultSet.getDate(4);/*处理结果集* 方式一:*/System.out.println("id = "+id+",name = "+name+",email = "+email+",birth = "+birth);//方式二:Object[] data = http://kandian.youth.cn/index/new Object[] {id,name,email,birth};for(int i=0;i


推荐阅读