`

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 dbutils dbutils dbutils

    dbutils dbutils dbutils dbutils

    Dbutils学习源码总结

    apache下面有很多值得学习的开源项目,尤其是commons系列,在此,特封装了其组织下的dbutils根据,方便了喜欢使用sql开发的java朋友,里面有各种实用的封装类和对数据库操作的接口,欢迎下载!

    dbutils学习实例

    dbutils学习实例,基本的底层数据的应用实例,包括连接池c3p0和jdbc的三种包装形式

    模仿DBUtils(自己模仿DBUtils写的简易DBUtils)

    模仿DBUtils(自己模仿Commons DBUtils写的简易DBUtils),欢迎大家下载学习,这不是Apache旗下的DBUtils哦~

    python类DBUtils安装包

    DBUtils 是一套允许线程化 Python 程序可以安全和有效的访问数据库的模块。DBUtils已经作为 Webware for Python 一部分用来结合 PyGreSQL 访问 PostgreSQL 数据库,当然他也可以用在其他Python应用程序中来访问 DB-...

    dbutils api

    dbutils api

    commons-dbutils-1.7.zip

    dbutils

    commons-dbutils-1.7-API文档-中文版.zip

    赠送jar包:commons-dbutils-1.7.jar; 赠送原API文档:commons-dbutils-1.7-javadoc.jar; 赠送源代码:commons-dbutils-1.7-sources.jar; 赠送Maven依赖信息文件:commons-dbutils-1.7.pom; 包含翻译后的API文档...

    DBUtils操作数据库以及事物的管理

    DBUtils操作数据库以及事物的管理

    JDBC学习(九)dbUtils原理代码实例

    JDBC学习(九)dbUtils原理代码实例,包含三个demo:正常C3P0数据库池对数据库的增删改查操作;自己实现dbutils对数据库实现增删改查操作;使用apache的工具类dbutils对数据库增删改查操作。

    commons-dbutils-1.7.jar

    commons-dbutils-1.7.jarcommons-dbutils-1.7.jarcommons-dbutils-1.7.jar

    python-dbutils 简单封装

    python dbutils 简单封装

    commons-dbutils-1.7-API文档-中英对照版.zip

    赠送jar包:commons-dbutils-1.7.jar; 赠送原API文档:commons-dbutils-1.7-javadoc.jar; 赠送源代码:commons-dbutils-1.7-sources.jar; 赠送Maven依赖信息文件:commons-dbutils-1.7.pom; 包含翻译后的API文档...

    commons-dbutils的再封装jar包

    commons-dbutils的再封装jar包,Blog文件的示例代码

    commons-dbutils-1.3.zip

    这里分享的是commons-dbutils-1.3,解压打开导入commons-dbutils-1.3.jar即可

    Dbutils_详解.docx

    Dbutils_详解,适合初学者学习Dbutils。

    dbutils

    dbutils 它不是一个DAO,也不是类似Hibernate的工具, 仅是对已有的JDBC技术进行了一个简单封装。

    commons-dbutils-1.4.jar

    commons-dbutils-1.4.jar

    Dbutils项目实例

    DBUtils包括3个包: org apache commons dbutils org apache commons dbutils handlers org apache commons dbutils wrappers DBUtils封装了对JDBC的操作 简化了JDBC操作 可以少写代码 org apache commons dbutils ...

    commons-dbutils-1.6.jar包

    包org.apache.commons.dbutils DbUtils是一个为简化JDBC操作的小类库. 接口摘要 ResultSetHandler 将ResultSet转换为别的对象的工具. RowProcessor 将ResultSet行转换为别的对象的工具. 类摘要 BasicRowProcessor ...

Global site tag (gtag.js) - Google Analytics