【数据库编程】8.Apache-DBUtils
2022/3/30 19:19:55
本文主要是介绍【数据库编程】8.Apache-DBUtils,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 基本介绍
- commons-dbutils是Apache组织提供的一个开源JDBC工具类,它是对JDBC的封装,使用DBUtils可以极大简化jdbc编码的工作量。
- DBUtils类
- QueryRunner类:该类封装了SQL的执行,是线程安全的。可以实现增、删、改、查、批处理。
- ResultSetHandler接口:用于处理java.sql.ResultSet,将数据按要求转换为另一种形式。
2.ResultSetHandler子类
- ArrayHandler:把结果集中的第一行数据转换成对象数组。
- ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。
- BeanHandler:把结果集中的第一行数据封装到一个对应的JavaBean实例中。
- BeanListHandler:把结果集中的每一行数据都封装到每个对应的JavaBean实例中,存放到List里。
- ColumnListHandler:将结果集中某一列的数据存放到List中。
- KeyedHandler:将结果集中的每行数据都封装到Map里,再把这些Map再存放到一个Map里,其key为指定的key。
- MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
- MapListHandler:将结果集中的每一行数据都封装到每个Map里,然后再存放到List中。
3. 使用案例
首先创建一个表和与之对应的Bean类,表结构代码如下:
CREATE TABLE `demo` ( `id` int(11) DEFAULT NULL, `name` varchar(32) DEFAULT NULL ) ENGINE = InnoDB CHARSET = utf8; INSERT INTO demo VALUES (1, 'alan1'), (2, 'alan2'), (3, 'alan3'), (4, 'alan4'), (5, 'alan5');
Bean类代码如下:
public class Demo { private Integer id; private String name; public Demo() { } public Demo(Integer id, String name) { this.id = id; this.name = name; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Demo{" + "id=" + id + ", name='" + name + '\'' + '}'; } }
之后编写Java代码,使用DBUtils查询id大于2的所有记录,代码如下:
@Test public void testDBUtils() throws Exception { // 读取配置并获得连接 Properties properties = new Properties(); properties.load(new FileInputStream("src\\druid.properties")); DataSource dataSource = DruidDataSourceFactory.createDataSource(properties); Connection connection = dataSource.getConnection(); QueryRunner queryRunner = new QueryRunner(); String sql = "select * from demo where id > ?"; // 执行SQL List<Demo> list = queryRunner.query(connection, sql, new BeanListHandler<>(Demo.class), 2); for (Demo demo : list) { System.out.println(demo); } connection.close(); }
运行结果为:
4. 表与JavaBean的类型映射关系
表 | JavaBean |
---|---|
int | Integer |
double | Double |
char | String |
varchar | String |
date | Date或String |
这篇关于【数据库编程】8.Apache-DBUtils的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享