关于commons 您所在的位置:网站首页 queryrunner导入包依然报错 关于commons

关于commons

2023-10-17 05:24| 来源: 网络整理| 查看: 265

在最基层查询数据的时候,我们通常用的则是Statament,这个就是将sql语句直接发给sql数据库,当外界发生变化的时候,很容易影响结果,很容易受到占位符的影响。

于是就产生了进化版本,使用Preprastament替代statemnet,这个则是预编译的意思。直接则是将sql语句缓存起来,加入其他的占位符,外界也没有办法影响到预编译的结果。 可以说,Preprastament是Statament升级后的产物。查询的结果使用ResultSet结果

至于今天说的这个架包commons-dbutils-1.6.jar,里面主要是一种查询方法,但是这个工具的优点就是可以将数据整理成各种结构。 QueryRunner queryRunner=new QueryRunner();//直接与数据库沟通交流的主要方法 ,里面对PreparedStatement方法进行了包装,根据数据结果,选择对应的方法,可以将数据结果打包成各种不通的数据结构,是使用框架的时候必备的框架。 1.4.3ArrayHandler与ArrayListHandler查询 ArrayHandler:将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值 public class ArrayHandlerDemo { @Test public void method(){ try { //获取QueryRunner对象 QueryRunner qr = new QueryRunner(); //执行SQL语句 String sql = “SELECT * FROM zhangwu”; Object[] params = {}; Connection conn = JDBCUtils.getConnection(); Object[] objArray = qr.query(conn, sql, new ArrayHandler(), params); //结果集的处理 System.out.println( Arrays.toString(objArray) );

conn.close(); } catch (SQLException e) { e.printStackTrace(); } }

} ArrayListHandler:将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。 public class ArrayListHandlerDemo { @Test public void method(){ try { //获取QueryRunner对象 QueryRunner qr = new QueryRunner(); //执行SQL语句 String sql = “SELECT * FROM zhangwu WHERE money>?”; Object[] params = {2000}; Connection conn = JDBCUtils.getConnection(); List list = qr.query(conn, sql, new ArrayListHandler(), params); //结果集的处理 for (Object[] objArray : list) { System.out.println( Arrays.toString(objArray) ); }

conn.close(); } catch (SQLException e) { e.printStackTrace(); } }

} 1.4.5ColumnListHandler与ScalarHandler查询 ColumnListHandler:将结果集中指定的列的字段值,封装到一个List集合中 public class ColumnListHandlerDemo { @Test public void method(){ try { //获取QueryRunner对象 QueryRunner qr = new QueryRunner(); //执行SQL语句 String sql = “SELECT name FROM zhangwu WHERE money>?”; Object[] params = {2000}; Connection conn = JDBCUtils.getConnection(); List list = qr.query(conn, sql, new ColumnListHandler(), params); //结果集的处理 for (String str : list) { System.out.println(str); }

conn.close(); } catch (SQLException e) { e.printStackTrace(); } }

} ScalarHandler:它是用于单数据。例如select count(*) from 表操作。 public class ScalarHandlerDemo { @Test public void method(){ try { //获取QueryRunner对象 QueryRunner qr = new QueryRunner();

//执行SQL语句 String sql = "SELECT MAX(money) FROM zhangwu"; Object[] params = {}; Connection conn = JDBCUtils.getConnection(); Double max = qr.query(conn, sql, new ScalarHandler(), params); //结果集的处理 System.out.println("max=" + max); conn.close(); } catch (SQLException e) { e.printStackTrace(); } }

}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有