| 程序包 | 说明 |
|---|---|
| com.xiaoleilu.hutool.db | |
| com.xiaoleilu.hutool.db.dialect | |
| com.xiaoleilu.hutool.db.dialect.impl | |
| com.xiaoleilu.hutool.db.handler | |
| com.xiaoleilu.hutool.db.sql |
| 限定符和类型 | 类和说明 |
|---|---|
class |
ActiveEntity
动态实体类
TODO 提供了针对自身实体的增删改查方法 |
| 限定符和类型 | 方法和说明 |
|---|---|
Entity |
Entity.addFieldNames(String... fieldNames)
添加字段列表
|
Entity |
Entity.clone() |
static Entity |
Entity.create()
创建Entity
|
static Entity |
Entity.create(String tableName)
创建Entity
|
static Entity |
DbUtil.createLimitedEntity(DataSource ds,
String tableName)
创建带有字段限制的Entity对象
此方法读取数据库中对应表的字段列表,加入到Entity中,当Entity被设置内容时,会忽略对应表字段外的所有KEY |
Entity |
DaoTemplate.get(Entity where)
根据条件实体查询单个记录,当有多条返回时,只显示查询到的第一条
|
<T> Entity |
DaoTemplate.get(String field,
T value)
根据某个字段(最好是唯一字段)查询单个记录
当有多条返回时,只显示查询到的第一条 |
<T> Entity |
DaoTemplate.get(T pk)
根据主键获取单个记录
|
static <T> Entity |
Entity.parse(T bean)
将PO对象转为Entity
|
<T> Entity |
Entity.parseBean(T bean)
将值对象转换为Entity
类名会被当作表名,小写第一个字母 |
Entity |
Entity.set(String attr,
Object value) |
Entity |
Entity.setFieldNames(List<String> fieldNames)
设置字段列表
|
Entity |
Entity.setFieldNames(String... fieldNames)
设置字段列表
|
Entity |
Entity.setIgnoreNull(String attr,
Object value) |
Entity |
Entity.setTableName(String tableName)
设置表名
|
| 限定符和类型 | 方法和说明 |
|---|---|
List<Entity> |
DaoTemplate.find(Entity where)
根据某个字段值查询结果
|
<T> List<Entity> |
DaoTemplate.find(String field,
T value)
根据某个字段值查询结果
|
List<Entity> |
DaoTemplate.findAll()
查询当前表的所有记录
|
List<Entity> |
DaoTemplate.findBySql(String sql,
Object... params)
根据SQL语句查询结果
SQL语句可以是非完整SQL语句,可以只提供查询的条件部分(例如WHERE部分) 此方法会自动补全SELECT * FROM [tableName] 部分,这样就无需关心表名,直接提供条件即可 |
PageResult<Entity> |
SqlRunner.page(Collection<String> fields,
Entity where,
int page,
int numPerPage)
分页查询
|
PageResult<Entity> |
Session.page(Collection<String> fields,
Entity where,
int page,
int numPerPage)
分页查询
|
PageResult<Entity> |
SqlRunner.page(Collection<String> fields,
Entity where,
Page page)
分页查询
|
PageResult<Entity> |
Session.page(Collection<String> fields,
Entity where,
Page page)
分页查询
|
PageResult<Entity> |
SqlConnRunner.page(Connection conn,
Collection<String> fields,
Entity where,
int page,
int numPerPage)
分页查询
此方法不会关闭Connection |
PageResult<Entity> |
SqlConnRunner.page(Connection conn,
Collection<String> fields,
Entity where,
Page page)
分页查询
此方法不会关闭Connection |
PageResult<Entity> |
SqlConnRunner.page(Connection conn,
Entity where,
Page page)
分页全字段查询
此方法不会关闭Connection |
PageResult<Entity> |
SqlRunner.page(Entity where,
Page page)
分页查询
|
PageResult<Entity> |
Session.page(Entity where,
Page page)
分页查询
|
PageResult<Entity> |
DaoTemplate.page(Entity where,
Page page)
分页
|
PageResult<Entity> |
DaoTemplate.page(Entity where,
Page page,
String... selectFields)
分页
|
| 限定符和类型 | 方法和说明 |
|---|---|
int |
DaoTemplate.add(Entity entity)
添加
|
Long |
DaoTemplate.addForGeneratedKey(Entity entity)
添加
|
List<Object> |
DaoTemplate.addForGeneratedKeys(Entity entity)
添加
|
int |
DaoTemplate.addOrUpdate(Entity entity)
增加或者更新实体
|
static Condition[] |
DbUtil.buildConditions(Entity entity)
通过实体对象构建条件对象
|
static String |
DbUtil.buildEqualsWhere(Entity entity,
List<Object> paramValues)
构件相等条件的where语句
如果没有条件语句,泽返回空串,表示没有条件 |
int |
SqlConnRunner.count(Connection conn,
Entity where)
结果的条目数
|
int |
SqlRunner.count(Entity where)
结果的条目数
|
int |
Session.count(Entity where)
结果的条目数
|
int |
DaoTemplate.count(Entity where)
满足条件的数据条目数量
|
int |
SqlConnRunner.del(Connection conn,
Entity where)
删除数据
此方法不会关闭Connection |
int |
SqlRunner.del(Entity where)
删除数据
|
int |
Session.del(Entity where)
删除数据
|
<T> int |
DaoTemplate.del(Entity where)
删除
|
boolean |
DaoTemplate.exist(Entity where)
指定条件的数据是否存在
|
<T> T |
SqlRunner.find(Collection<String> fields,
Entity where,
RsHandler<T> rsh)
查询
|
<T> T |
Session.find(Collection<String> fields,
Entity where,
RsHandler<T> rsh)
查询
|
<T> T |
SqlConnRunner.find(Connection conn,
Collection<String> fields,
Entity where,
RsHandler<T> rsh)
查询
此方法不会关闭Connection |
<T> T |
SqlConnRunner.find(Connection conn,
Entity where,
RsHandler<T> rsh)
查询,返回所有字段
此方法不会关闭Connection |
List<Entity> |
DaoTemplate.find(Entity where)
根据某个字段值查询结果
|
<T> T |
SqlRunner.find(Entity where,
RsHandler<T> rsh)
查询,返回所有字段
|
Entity |
DaoTemplate.get(Entity where)
根据条件实体查询单个记录,当有多条返回时,只显示查询到的第一条
|
int |
SqlConnRunner.insert(Connection conn,
Entity record)
插入数据
此方法不会关闭Connection |
int |
SqlRunner.insert(Entity record)
插入数据
|
int |
Session.insert(Entity record)
插入数据
|
Long |
SqlConnRunner.insertForGeneratedKey(Connection conn,
Entity record)
插入数据
此方法不会关闭Connection |
Long |
SqlRunner.insertForGeneratedKey(Entity record)
插入数据
|
Long |
Session.insertForGeneratedKey(Entity record)
插入数据
|
List<Object> |
SqlConnRunner.insertForGeneratedKeys(Connection conn,
Entity record)
插入数据
此方法不会关闭Connection |
List<Object> |
SqlRunner.insertForGeneratedKeys(Entity record)
插入数据
|
List<Object> |
Session.insertForGeneratedKeys(Entity record)
插入数据
|
PageResult<Entity> |
SqlRunner.page(Collection<String> fields,
Entity where,
int page,
int numPerPage)
分页查询
|
PageResult<Entity> |
Session.page(Collection<String> fields,
Entity where,
int page,
int numPerPage)
分页查询
|
<T> T |
SqlRunner.page(Collection<String> fields,
Entity where,
int page,
int numPerPage,
RsHandler<T> rsh)
分页查询
|
<T> T |
Session.page(Collection<String> fields,
Entity where,
int page,
int numPerPage,
RsHandler<T> rsh)
分页查询
|
PageResult<Entity> |
SqlRunner.page(Collection<String> fields,
Entity where,
Page page)
分页查询
|
PageResult<Entity> |
Session.page(Collection<String> fields,
Entity where,
Page page)
分页查询
|
<T> T |
SqlRunner.page(Collection<String> fields,
Entity where,
Page page,
RsHandler<T> rsh)
分页查询
|
<T> T |
Session.page(Collection<String> fields,
Entity where,
Page page,
RsHandler<T> rsh)
分页查询
|
PageResult<Entity> |
SqlConnRunner.page(Connection conn,
Collection<String> fields,
Entity where,
int page,
int numPerPage)
分页查询
此方法不会关闭Connection |
<T> T |
SqlConnRunner.page(Connection conn,
Collection<String> fields,
Entity where,
int pageNumber,
int numPerPage,
RsHandler<T> rsh)
分页查询
此方法不会关闭Connection |
PageResult<Entity> |
SqlConnRunner.page(Connection conn,
Collection<String> fields,
Entity where,
Page page)
分页查询
此方法不会关闭Connection |
<T> T |
SqlConnRunner.page(Connection conn,
Collection<String> fields,
Entity where,
Page page,
RsHandler<T> rsh)
分页查询
此方法不会关闭Connection |
PageResult<Entity> |
SqlConnRunner.page(Connection conn,
Entity where,
Page page)
分页全字段查询
此方法不会关闭Connection |
PageResult<Entity> |
SqlRunner.page(Entity where,
Page page)
分页查询
|
PageResult<Entity> |
Session.page(Entity where,
Page page)
分页查询
|
PageResult<Entity> |
DaoTemplate.page(Entity where,
Page page)
分页
|
PageResult<Entity> |
DaoTemplate.page(Entity where,
Page page,
String... selectFields)
分页
|
int |
SqlConnRunner.update(Connection conn,
Entity record,
Entity where)
更新数据
此方法不会关闭Connection |
int |
DaoTemplate.update(Entity entity)
更新
|
int |
SqlRunner.update(Entity record,
Entity where)
更新数据
|
int |
Session.update(Entity record,
Entity where)
更新数据
|
int |
DaoTemplate.update(Entity record,
Entity where)
按照条件更新
|
static void |
DbUtil.validateEntity(Entity entity)
验证实体类对象的有效性
|
| 限定符和类型 | 方法和说明 |
|---|---|
int[] |
SqlRunner.insert(Collection<Entity> records)
批量插入数据
|
int[] |
Session.insert(Collection<Entity> records)
批量插入数据
|
int[] |
SqlConnRunner.insert(Connection conn,
Collection<Entity> records)
批量插入数据
此方法不会关闭Connection |
| 限定符和类型 | 方法和说明 |
|---|---|
PreparedStatement |
Dialect.psForCount(Connection conn,
Entity where)
构建用于查询行数的PreparedStatement
|
PreparedStatement |
Dialect.psForDelete(Connection conn,
Entity entity)
构建用于删除的PreparedStatement
|
PreparedStatement |
Dialect.psForFind(Connection conn,
Collection<String> fields,
Entity where)
构建用于获取多条记录的PreparedStatement
|
PreparedStatement |
Dialect.psForInsert(Connection conn,
Entity entity)
构建用于插入的PreparedStatement
|
PreparedStatement |
Dialect.psForPage(Connection conn,
Collection<String> fields,
Entity where,
Page page)
构建用于分页查询的PreparedStatement
|
PreparedStatement |
Dialect.psForUpdate(Connection conn,
Entity entity,
Entity where)
构建用于更新的PreparedStatement
|
| 限定符和类型 | 方法和说明 |
|---|---|
PreparedStatement |
AnsiSqlDialect.psForCount(Connection conn,
Entity where) |
PreparedStatement |
AnsiSqlDialect.psForDelete(Connection conn,
Entity entity) |
PreparedStatement |
AnsiSqlDialect.psForFind(Connection conn,
Collection<String> fields,
Entity where) |
PreparedStatement |
AnsiSqlDialect.psForInsert(Connection conn,
Entity entity) |
PreparedStatement |
OracleDialect.psForPage(Connection conn,
Collection<String> fields,
Entity where,
Page page) |
PreparedStatement |
MysqlDialect.psForPage(Connection conn,
Collection<String> fields,
Entity where,
Page page) |
PreparedStatement |
AnsiSqlDialect.psForPage(Connection conn,
Collection<String> fields,
Entity where,
Page page) |
PreparedStatement |
AnsiSqlDialect.psForUpdate(Connection conn,
Entity entity,
Entity where) |
| 限定符和类型 | 方法和说明 |
|---|---|
static <T extends Collection<Entity>> |
HandleHelper.handleRs(ResultSet rs,
T collection)
处理多条数据
|
| 限定符和类型 | 方法和说明 |
|---|---|
Entity |
EntityHandler.handle(ResultSet rs) |
static Entity |
HandleHelper.handleRow(int columnCount,
ResultSetMetaData meta,
ResultSet rs)
处理单条数据
|
static Entity |
HandleHelper.handleRow(ResultSet rs)
处理单条数据
|
| 限定符和类型 | 方法和说明 |
|---|---|
PageResult<Entity> |
PageResultHandler.handle(ResultSet rs) |
LinkedHashSet<Entity> |
EntitySetHandler.handle(ResultSet rs) |
List<Entity> |
EntityListHandler.handle(ResultSet rs) |
| 限定符和类型 | 方法和说明 |
|---|---|
static PageResultHandler |
PageResultHandler.create(PageResult<Entity> pageResult)
创建一个 EntityHandler对象
结果集根据给定的分页对象查询数据库,填充结果 |
| 构造器和说明 |
|---|
PageResultHandler(PageResult<Entity> pageResult)
构造
结果集根据给定的分页对象查询数据库,填充结果 |
| 限定符和类型 | 方法和说明 |
|---|---|
Entity |
Wrapper.wrap(Entity entity)
包装字段名
有时字段与SQL的某些关键字冲突,导致SQL出错,因此需要将字段名用单引号或者反引号包装起来,避免冲突 |
| 限定符和类型 | 方法和说明 |
|---|---|
SqlBuilder |
SqlBuilder.insert(Entity entity)
插入,使用默认的ANSI方言
|
SqlBuilder |
SqlBuilder.insert(Entity entity,
DialectName dialectName)
插入
|
SqlBuilder |
SqlBuilder.update(Entity entity)
更新
|
Entity |
Wrapper.wrap(Entity entity)
包装字段名
有时字段与SQL的某些关键字冲突,导致SQL出错,因此需要将字段名用单引号或者反引号包装起来,避免冲突 |
Copyright © 2016. All rights reserved.