| 程序包 | 说明 |
|---|---|
| cn.hutool.db |
Hutool-db是一个在JDBC基础上封装的数据库操作工具类,通过包装,使用ActiveRecord思想操作数据库。
|
| cn.hutool.db.dialect.impl |
数据库方言实现,包括MySQL、Oracle、PostgreSQL、Sqlite3、H2、SqlServer2012等
|
| cn.hutool.db.sql |
SQL语句和Statement构建封装
|
| 限定符和类型 | 方法和说明 |
|---|---|
static PreparedStatement |
StatementUtil.prepareStatement(Connection conn,
SqlBuilder sqlBuilder)
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected SqlBuilder |
AnsiSqlDialect.wrapPageSql(SqlBuilder find,
Page page)
根据不同数据库在查询SQL语句基础上包装其分页的语句
各自数据库通过重写此方法实现最小改动情况下修改分页语句 |
protected SqlBuilder |
H2Dialect.wrapPageSql(SqlBuilder find,
Page page) |
protected SqlBuilder |
MysqlDialect.wrapPageSql(SqlBuilder find,
Page page) |
protected SqlBuilder |
OracleDialect.wrapPageSql(SqlBuilder find,
Page page) |
protected SqlBuilder |
SqlServer2012Dialect.wrapPageSql(SqlBuilder find,
Page page) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected SqlBuilder |
AnsiSqlDialect.wrapPageSql(SqlBuilder find,
Page page)
根据不同数据库在查询SQL语句基础上包装其分页的语句
各自数据库通过重写此方法实现最小改动情况下修改分页语句 |
protected SqlBuilder |
H2Dialect.wrapPageSql(SqlBuilder find,
Page page) |
protected SqlBuilder |
MysqlDialect.wrapPageSql(SqlBuilder find,
Page page) |
protected SqlBuilder |
OracleDialect.wrapPageSql(SqlBuilder find,
Page page) |
protected SqlBuilder |
SqlServer2012Dialect.wrapPageSql(SqlBuilder find,
Page page) |
| 限定符和类型 | 方法和说明 |
|---|---|
SqlBuilder |
SqlBuilder.append(Object sqlFragment)
追加SQL其它部分片段
|
static SqlBuilder |
SqlBuilder.create()
创建SQL构建器
|
static SqlBuilder |
SqlBuilder.create(Wrapper wrapper)
创建SQL构建器
|
SqlBuilder |
SqlBuilder.delete(String tableName)
删除
|
SqlBuilder |
SqlBuilder.from(String... tableNames)
添加 from语句
|
SqlBuilder |
SqlBuilder.groupBy(String... fields)
分组
|
SqlBuilder |
SqlBuilder.having(LogicalOperator logicalOperator,
Condition... conditions)
添加Having语句
|
SqlBuilder |
SqlBuilder.having(String having)
添加Having语句
|
<T> SqlBuilder |
SqlBuilder.in(String field,
T... values)
多值选择
|
SqlBuilder |
SqlBuilder.insert(Entity entity)
插入,使用默认的ANSI方言
|
SqlBuilder |
SqlBuilder.insert(Entity entity,
DialectName dialectName)
插入
插入会忽略空的字段名及其对应值,但是对于有字段名对应值为 null的情况不忽略 |
SqlBuilder |
SqlBuilder.insertPreFragment(Object sqlFragment)
在SQL的开头补充SQL片段
|
SqlBuilder |
SqlBuilder.join(String tableName,
SqlBuilder.Join join)
多表关联
|
SqlBuilder |
SqlBuilder.on(LogicalOperator logicalOperator,
Condition... conditions)
配合JOIN的 ON语句,多表关联的条件语句
只支持单一的逻辑运算符(例如多个条件之间) |
SqlBuilder |
SqlBuilder.on(String on)
配合JOIN的 ON语句,多表关联的条件语句
只支持单一的逻辑运算符(例如多个条件之间) |
SqlBuilder |
SqlBuilder.orderBy(Order... orders)
排序
|
SqlBuilder |
SqlBuilder.query(Query query)
构建查询SQL
|
SqlBuilder |
SqlBuilder.select(boolean isDistinct,
Collection<String> fields)
查询
|
SqlBuilder |
SqlBuilder.select(boolean isDistinct,
String... fields)
查询
|
SqlBuilder |
SqlBuilder.select(Collection<String> fields)
查询(非Distinct)
|
SqlBuilder |
SqlBuilder.select(String... fields)
查询(非Distinct)
|
SqlBuilder |
SqlBuilder.update(Entity entity)
更新
|
SqlBuilder |
SqlBuilder.where(Condition... conditions)
添加Where语句,所有逻辑之间为AND的关系
|
SqlBuilder |
SqlBuilder.where(LogicalOperator logicalOperator,
Condition... conditions)
添加Where语句
只支持单一的逻辑运算符(例如多个条件之间) |
SqlBuilder |
SqlBuilder.where(String where)
添加Where语句
|
Copyright © 2019. All rights reserved.