上一次介绍了一下DbUtils组件的基本用法,其中最值得关注的就是QueryRunner对象,这应该是整个DbUtils组件最重要的一个组件,因此下面将详细的介绍其功能。
DbUtils的方法并不多,除前面已经介绍的query对象外,还有两个比较重要的方法,分别是fillStatement与 batch方法,可以看出这两个方法都与Statement相关。
batch方法的参数形式为:
batch(String sql, Object[][] params)
上面的方法执行一个批处理操作,其中params表示参数替换的数组,下面给出其简单用法:
...................
@Test
public void testBatch() throws SQLException{
String sql = "insert user(name,password) values(?,?)";
QueryRunner query = new QueryRunner(ConnectionPool.getDataSource());
String[][] params = {{"fans","2008"},{"fansof","2009"}};
query.batch(sql, params);
}
...............
至于fillStatement系列的方法可能稍微麻烦一点,它有以下几种形式:
fillStatement(PreparedStatement stmt, Object[] params)
fillStatementWithBean(PreparedStatement stmt, Object bean, PropertyDescriptor[] properties)
fillStatementWithBean(PreparedStatement stmt, Object bean, String[] propertyNames)
以上几种方式中第一种与第三种比较有用,第二种是底层实现,一般不会直接使用。
第一种用法最简单,直接将参数填充即可:
...........
@Test
public void testInsertWithStatementBatch() throws SQLException{
String sql = "insert user(name,password) values(?,?)";
QueryRunner query = new QueryRunner(ConnectionPool.getDataSource());
PreparedStatement ps = ConnectionPool.getConnection().prepareStatement(sql);
String[] param = {"fanso","2008"};
String[] param2 = {"fansp","2008"};
query.fillStatement(ps, param);
ps.addBatch();
query.fillStatement(ps, param2);
ps.addBatch();
ps.executeBatch();
}
...........
如果客户端传过来的是Java对象的话,上面的方法就不太好了,于是可以用上面的第三种参数形式:
..........
@Test
public void testInsertWithBeanBatch() throws SQLException, IntrospectionException{
String sql = "insert user(name,password) values(?,?)";
QueryRunner query = new QueryRunner(ConnectionPool.getDataSource());
PreparedStatement ps = ConnectionPool.getConnection().prepareStatement(sql);
User user = new User();
user.setName("fansofjava");
user.setPassword("2012");
User user2 = new User();
user2.setName("fansofjava");
user2.setPassword("2013");
String[] propertyName = {"name","password"};
query.fillStatementWithBean(ps, user, propertyName);
ps.addBatch();
query.fillStatementWithBean(ps, user2, propertyName);
ps.addBatch();
ps.executeBatch();
}
........
关于QueryRunner的用法基本上讲完了,能掌握这些,我想基本就够了。
分享到:
相关推荐
这个版本可能包含了DbUtils的二进制(bin)和源代码(src)两个部分,分别对应于"commons-dbutils-1.7-bin.zip"和"commons-dbutils-1.7-src.zip"这两个文件。 DbUtils的主要功能是作为一个数据库访问的辅助工具,它...
`commons-dbutils-1.6-bin.zip` 文件是 DButils 1.6 版本的二进制发布包,包含了编译好的 JAR 文件和其他运行时需要的资源。开发人员可以直接将这个 JAR 文件添加到他们的项目类路径中,以便使用 DButils 提供的功能...
描述中的"commons-dbutils-1.7-bin.zip"和"commons-dbutils-1.7-src.zip"是两个具体的压缩文件,分别对应DBUtils的1.7版本的二进制和源码打包。`bin.zip`包含了运行时所需的jar文件,而`src.zip`则包含所有源代码...
这是DBUtils库的二进制版本,包含了编译后的Java类。开发者可以在项目中直接引用这个jar包,无需关心源代码实现。DBUtils的核心功能包括: - **QueryRunner**:这是一个简单的查询执行器,支持SQL查询、更新操作...
这个“commons-dbutils-1.4-bin.rar”文件包含的是DBUtils库的1.4版本的二进制发布包。下面我们将深入探讨DBUtils以及QueryRunner组件的关键知识点。 DBUtils的核心理念是提供一种更安全、更健壮的方式来处理JDBC...
#### 二、DbUtils的优势 1. **资源释放的自动化**:DbUtils确保所有使用的资源都会正确释放,避免了因忘记释放资源而可能引发的内存泄漏问题。 2. **简化代码结构**:使用DbUtils可以显著减少代码量,使得开发者...
3. 教学和学习:dbutils是初学者学习数据库操作和JDBC的优秀实践工具,其清晰的API设计有助于理解数据库操作的基本流程。 总结来说,dbutils是Java开发中一款实用的数据库操作工具,通过它我们可以更高效、安全地...
2. **DdlUtils-1.0-bin.zip**:包含DdlUtils的二进制文件,通常包括可执行文件、库文件和必要的配置文件,供开发人员直接使用或在构建系统中集成。 3. **DdlUtils-1.0-doc.zip**:文档包,可能包含了用户指南、API...
手动编写自己的JDBC框架可以进一步简化CRUD(创建Create、读取Retrieve、更新***e、删除Delete)操作,这为深入学习DBUtils打下了坚实的基础。 在DBUtils框架的使用中,可以进行增删改查、批处理以及大文本操作。...
#### 二、DbUtils的特点 1. **简化代码**:使用DbUtils可以大大减少JDBC编程中常见的模板式代码,例如连接数据库、创建Statement对象、执行SQL语句、处理结果集等步骤。 2. **异常处理**:DbUtils提供了自动关闭...
Java学习笔记之DBUtils工具包详解 DBUtils是Apache组织开源的数据库工具类,提供了简洁的数据库操作方式,主要包括QueryRunner和ResultSetHandler两个主要组件。下面将详细介绍DBUtils工具包的使用步骤、构造方法及...
在提供的压缩文件中,`commons-dbutils-1.3-bin.zip`包含DBUtils的编译后的二进制JAR文件,可以直接引入项目依赖。而`commons-dbutils-1.3-src.zip`则包含了源代码,对于学习和调试DBUtils的内部实现非常有帮助。 ...
CSS2.0(Cascading Style Sheets 2.0)是Web样式表语言的第二个主要版本,用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档的呈现。CSS2.0引入了浮动元素、定位、相对和绝对单位、多列布局等特性,增强了...
2. 使用JDBC进行数据库操作,了解DBUtils和DBCP连接池。 **第七阶段:JavaWeb前端技术** 1. 学习HTML、CSS、JavaScript、jQuery和Bootstrap,能够独立编写前端页面。 2. 解决浏览器兼容性和响应式布局问题。 **第...
【标题】"传智播客崔希凡JavaWeb-day18JDBC第二天-全部资料" 涉及的课程是崔希凡老师讲解的JavaWeb系列教程中的第18天内容,主要聚焦在JDBC(Java Database Connectivity)的学习上。JDBC是Java编程语言和各种数据库...
数据库方面,学习者需要熟悉MySQL的安装配置,掌握SQL语句,以及通过JDBC进行数据库操作,同时理解DBUtils和DBCP连接池的工作机制。 在第二阶段的JavaWeb学习中,前端技术如HTML、CSS、JavaScript、jQuery和...
学习者会学习如何使用DBUtils进行数据库操作,包括数据库连接的获取和释放,以及使用PreparedStatement进行参数化查询,以防止SQL注入攻击。 最后,"33_数据库_第4天(DBCP连接池)_讲义.pdf"聚焦于数据库连接池的...
1、主要功能: ①线上点菜服务 ②餐桌预定服务 ③工作人员管理服务 ④结账流水服务 2、主要技术: 本项目使用了javaDruid、MySQL、JDBC、MySQL数据库连接池Druid、commons-dbutils等技术,commons-dbutils 是 ...
MySQL的重要文件包括mysql.exe(客户端程序)、mysqld.exe(服务器程序)和my.ini(服务器配置文件),其中my.ini用于配置端口、字符集和二进制数据大小上限。 MySQL服务器的日常操作包括启动和关闭,这可以通过...