时间:2021-07-01 10:21:17 帮助过:5人阅读
1 public void insert(){ 2 try{ 3 //获取一个用来执行SQL语句的对象 QueryRunner 4 QueryRunner qr = new QueryRunner(); 5 String sql = "insert into student(sno,sname,ssex) values (?,?,?)"; 6 Object[] params = {"1","张三","男"}; 7 Connection conn = JDBCUtils.getConnection(); 8 int line = gr.update(conn,sql,params);//用来完成表数据的增加、删除、更新操作 9 //结果处理集 10 System.out.println("line="+line); 11 }catch(SQLException e){ 12 throw new RuntimeException(e); 13 } 14 }3.2 更新
1 public void update(){ 2 try { 3 //创建一个QueryRunner对象,用来完成SQL语句的执行 4 QueryRunner qr = new QueryRunner(); 5 //执行SQL语句 6 String sql = "UPDATE student SET sname = ‘李四‘ WHERE sno=?"; 7 Object[] params = {"1"}; 8 Connection conn = JDBCUtils.getConnection(); 9 int line = qr.update(conn, sql, params); 10 //结果集的处理 11 System.out.println("line="+line); 12 } catch (SQLException e) { 13 throw new RuntimeException(e); 14 } 15 }3.3 删除
1 public void delete(){ 2 try { 3 //创建一个QueryRunner对象,用来完成SQL语句的执行 4 QueryRunner qr = new QueryRunner(); 5 //执行SQL语句 6 String sql = "DELETE FROM student WHERE name = ?"; 7 Object[] params = {"张三"}; 8 Connection conn = JDBCUtils.getConnection(); 9 int line = qr.update(conn, sql, params); 10 //结果集的处理 11 System.out.println("line="+line); 12 } catch (SQLException e) { 13 throw new RuntimeException(e); 14 } 15 }4、QueryRunner实现查询操作 · query(Connection conn,String sql,ResultSetHandler<T> rsh,Object... params), 用来完成表数据的查询操作。 4.1 ResultSetHandler结果集处理类
ArrayHandler |
将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值 |
ArrayListHandler |
将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。 |
BeanHandler |
将结果集中第一条记录封装到一个指定的javaBean中。 |
BeanListHandler |
将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中 |
ColumnListHandler |
将结果集中指定的列的字段值,封装到一个List集合中 |
ScalarHandler |
它是用于单数据。例如select count(*) from 表操作。 |
MapHandler |
将结果集第一行封装到Map集合中,Key 列名, Value 该列数据 |
MapListHandler |
将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合 |
1 //采用ArrayHandler处理结果集 2 public static void ArrayHandler()throws SQLException{ 3 QueryRunner qr = new QueryRunner(); 4 String sql = "select* from book "; 5 Object[] objects= qr.query(con,sql, new ArrayHandler()); 6 for (Object object : objects) { 7 System.out.print(object+"\t"); 8 } 9 }
ArrayListHandler:将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中
1 //采用ArrayListHandler处理结果 2 public static void ArrayListHandler()throws SQLException{ 3 QueryRunner qr = new QueryRunner(); 4 String sql = "select* from book "; 5 List<Object[]> objects= qr.query(con,sql, new ArrayListHandler()); 6 for (Object[] object : objects) { 7 for (Object o : object) { 8 System.out.print(o+"\t"); 9 } 10 System.out.println("\n"); 11 } 12 }
4.3 BeanHandler与BeanListHandler查询
BeanHandler :将结果集中第一条记录封装到一个指定的javaBean中。
1 //采用BeanHandler处理结果集 2 public static void BeanHandler()throws SQLException{ 3 QueryRunner qr = new QueryRunner(); 4 String sql = "select * from book"; 5 Sort s = qr.query(con,sql,new BeanHandler<Sort>(Sort.class)); 6 System.out.println(s); 7 }
BeanListHandler :将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
1 //采用BeanListHandler处理结果集 2 public static void BeanListHandler()throws SQLException{ 3 QueryRunner qr = new QueryRunner(); 4 String sql = "select * from book"; 5 List<Sort> list= qr.query(con,sql,new BeanListHandler<Sort>(Sort.class)); 6 for (Sort sort : list) { 7 System.out.println(sort); 8 } 9 }
4.4 ColumnListHandler与ScalarHandler查询
ColumnListHandler:将结果集中指定的列的字段值,封装到一个List集合中
1 //采用ColumnListHandler处理结果集 2 public static void ColumnListHandler()throws SQLException{ 3 QueryRunner qr = new QueryRunner(); 4 String sql = "select * from book where price=?"; 5 Object[] obj ={"89"}; //指定列 6 List<String> s= qr.query(con,sql,new ColumnListHandler<String>(),obj); 7 for (String s1 : s) { 8 System.out.println(s1); 9 } 10 }
ScalarHandler:它是用于单数据。例如select count(*) from 表操作。
1 //采用ScalarHandler处理结果集 2 public static void ScalarHandler()throws SQLException{ 3 QueryRunner qr = new QueryRunner(); 4 String sql = "select count(*) from book "; 5 long s = qr.query(con,sql,new ScalarHandler<Long>()); 6 System.out.println(s); 7 }
4.5 MapHandler和MapListHandler查询
MapHandler:将结果集第一行封装到Map集合中,Key 列名, Value 该列数据
//采用MapHandler处理结果集 public static void MapHandler()throws SQLException{ QueryRunner qr = new QueryRunner(); String sql = "select * from book"; Map<String,Object> map = qr.query(con,sql,new MapHandler()); for (String key : map.keySet()) { System.out.println(key+"...."+map.get(key)); } }
MapListHandler:将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合
//采用MapListHandler处理结果集 public static void MapListHandler()throws SQLException{ QueryRunner qr = new QueryRunner(); String sql = "select * from book"; List<Map<String,Object>> list = qr.query(con,sql,new MapListHandler()); for (Map<String, Object> map : list) { for (String s : map.keySet()) { System.out.print(s+".."+map.get(s)+"\t"); } System.out.println(); } }
DBUtils
标签:lex query str eth 完成 简介 handle 结果 scala