`

DbUtils学习(二)

阅读更多
上一次介绍了一下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的用法基本上讲完了,能掌握这些,我想基本就够了。
分享到:
评论
1 楼 bruthe 2014-05-28  
关闭资源  资源 资源

相关推荐

    DbUtils-1.7.zip

    这个版本可能包含了DbUtils的二进制(bin)和源代码(src)两个部分,分别对应于"commons-dbutils-1.7-bin.zip"和"commons-dbutils-1.7-src.zip"这两个文件。 DbUtils的主要功能是作为一个数据库访问的辅助工具,它...

    开发类库DButils

    `commons-dbutils-1.6-bin.zip` 文件是 DButils 1.6 版本的二进制发布包,包含了编译好的 JAR 文件和其他运行时需要的资源。开发人员可以直接将这个 JAR 文件添加到他们的项目类路径中,以便使用 DButils 提供的功能...

    dbutils-1.7 bin和src

    描述中的"commons-dbutils-1.7-bin.zip"和"commons-dbutils-1.7-src.zip"是两个具体的压缩文件,分别对应DBUtils的1.7版本的二进制和源码打包。`bin.zip`包含了运行时所需的jar文件,而`src.zip`则包含所有源代码...

    commons-dbutils-1.4 bin+src

    这是DBUtils库的二进制版本,包含了编译后的Java类。开发者可以在项目中直接引用这个jar包,无需关心源代码实现。DBUtils的核心功能包括: - **QueryRunner**:这是一个简单的查询执行器,支持SQL查询、更新操作...

    commons-dbutils-1.4-bin.rar

    这个“commons-dbutils-1.4-bin.rar”文件包含的是DBUtils库的1.4版本的二进制发布包。下面我们将深入探讨DBUtils以及QueryRunner组件的关键知识点。 DBUtils的核心理念是提供一种更安全、更健壮的方式来处理JDBC...

    DbUtils技术文档.pdf

    #### 二、DbUtils的优势 1. **资源释放的自动化**:DbUtils确保所有使用的资源都会正确释放,避免了因忘记释放资源而可能引发的内存泄漏问题。 2. **简化代码结构**:使用DbUtils可以显著减少代码量,使得开发者...

    dbutils工具类的使用

    3. 教学和学习:dbutils是初学者学习数据库操作和JDBC的优秀实践工具,其清晰的API设计有助于理解数据库操作的基本流程。 总结来说,dbutils是Java开发中一款实用的数据库操作工具,通过它我们可以更高效、安全地...

    apache dbutils 框架

    2. **DdlUtils-1.0-bin.zip**:包含DdlUtils的二进制文件,通常包括可执行文件、库文件和必要的配置文件,供开发人员直接使用或在构建系统中集成。 3. **DdlUtils-1.0-doc.zip**:文档包,可能包含了用户指南、API...

    dbutils的使用_事务处理_多表操作_oracle大数据处理

    手动编写自己的JDBC框架可以进一步简化CRUD(创建Create、读取Retrieve、更新***e、删除Delete)操作,这为深入学习DBUtils打下了坚实的基础。 在DBUtils框架的使用中,可以进行增删改查、批处理以及大文本操作。...

    jdbc工具类-DBUtils1.6版jar包-正式版下载

    #### 二、DbUtils的特点 1. **简化代码**:使用DbUtils可以大大减少JDBC编程中常见的模板式代码,例如连接数据库、创建Statement对象、执行SQL语句、处理结果集等步骤。 2. **异常处理**:DbUtils提供了自动关闭...

    java学习笔记之DBUtils工具包详解

    Java学习笔记之DBUtils工具包详解 DBUtils是Apache组织开源的数据库工具类,提供了简洁的数据库操作方式,主要包括QueryRunner和ResultSetHandler两个主要组件。下面将详细介绍DBUtils工具包的使用步骤、构造方法及...

    apache dbutils ..............................

    在提供的压缩文件中,`commons-dbutils-1.3-bin.zip`包含DBUtils的编译后的二进制JAR文件,可以直接引入项目依赖。而`commons-dbutils-1.3-src.zip`则包含了源代码,对于学习和调试DBUtils的内部实现非常有帮助。 ...

    JavaEE5 API、 Commons-dbutils、CSS2.0、JDK API_1.6、j2ee6、javax.servlet_api

    CSS2.0(Cascading Style Sheets 2.0)是Web样式表语言的第二个主要版本,用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档的呈现。CSS2.0引入了浮动元素、定位、相对和绝对单位、多列布局等特性,增强了...

    Java学习路线图.docx

    2. 使用JDBC进行数据库操作,了解DBUtils和DBCP连接池。 **第七阶段:JavaWeb前端技术** 1. 学习HTML、CSS、JavaScript、jQuery和Bootstrap,能够独立编写前端页面。 2. 解决浏览器兼容性和响应式布局问题。 **第...

    传智播客崔希凡JavaWeb-day18JDBC第二天-全部资料

    【标题】"传智播客崔希凡JavaWeb-day18JDBC第二天-全部资料" 涉及的课程是崔希凡老师讲解的JavaWeb系列教程中的第18天内容,主要聚焦在JDBC(Java Database Connectivity)的学习上。JDBC是Java编程语言和各种数据库...

    Java教程以及目标和工作能力

    数据库方面,学习者需要熟悉MySQL的安装配置,掌握SQL语句,以及通过JDBC进行数据库操作,同时理解DBUtils和DBCP连接池的工作机制。 在第二阶段的JavaWeb学习中,前端技术如HTML、CSS、JavaScript、jQuery和...

    黑马程序数据库讲解

    学习者会学习如何使用DBUtils进行数据库操作,包括数据库连接的获取和释放,以及使用PreparedStatement进行参数化查询,以防止SQL注入攻击。 最后,"33_数据库_第4天(DBCP连接池)_讲义.pdf"聚焦于数据库连接池的...

    基于JavaDruid+MySQL实现一个订餐管理系统源码+项目说明.7z

    1、主要功能: ①线上点菜服务 ②餐桌预定服务 ③工作人员管理服务 ④结账流水服务 2、主要技术: 本项目使用了javaDruid、MySQL、JDBC、MySQL数据库连接池Druid、commons-dbutils等技术,commons-dbutils 是 ...

    数据库学习笔记.docx

    MySQL的重要文件包括mysql.exe(客户端程序)、mysqld.exe(服务器程序)和my.ini(服务器配置文件),其中my.ini用于配置端口、字符集和二进制数据大小上限。 MySQL服务器的日常操作包括启动和关闭,这可以通过...

Global site tag (gtag.js) - Google Analytics