由来
数据库操作不外乎四门功课:增删改查,在Java的世界中,由于JDBC的存在,这项工作变得简单易用,但是也并没有做到使用上的简化。于是出现了JPA(Hibernate)、MyBatis、Jfinal等解决框架,或解决多数据库差异问题,或解决SQL维护问题。而Hutool对JDBC的封装,多数为在小型项目中对数据处理的简化,尤其只涉及单表操作时。OK,废话不多,来个Demo感受下。
使用
我们以MySQL为例
添加配置文件
Maven项目中在src/main/resources目录下添加db.setting文件(非Maven项目添加到ClassPath中即可):
1 | ## db.setting文件 |
引入MySQL JDBC驱动jar
1 | <!--mysql数据库驱动 --> |
注意
此处不定义MySQL版本,请参考官方文档使用匹配的驱动包版本。
增删改查
增
1 | Db.use().insert( |
插入数据并返回自增主键:
1 | Db.use().insertForGeneratedKey( |
删
1 | Db.use().del( |
改
1 | Db.use().update( |
注意
条件语句除了可以用=精确匹配外,也可以范围条件匹配,例如表示 age < 12 可以这样构造Entity:Entity.create(“user”).set(“age”, “< 12”),但是通过Entity方式传入条件暂时不支持同字段多条件的情况。
查
查询全部字段
1 | //user为表名 |
条件查询
1 | Db.use().findAll(Entity.create("user").set("name", "unitTestUser")); |
模糊查询
1 | Db.use().findLike("user", "name", "Test", LikeType.Contains); |
分页查询
1 | //Page对象通过传入页码和每页条目数达到分页目的 |
执行SQL语句
1 | //查询 |
事务
1 | Db.use().tx(new TxFunc() { |