public class DBClient extends DaoSupport implements DBMethod
| Modifier and Type | Field and Description |
|---|---|
protected ThreadLocal<DBContext> |
dbContexts
sql执行上下文.
|
protected DBDynmicSQL |
dbDynmicSQL |
protected DBJooq |
dbJooq |
protected DBQueryDSL |
dbQueryDSL |
protected MapperBuilder |
mapperBuilder |
crud, dataSource| Constructor and Description |
|---|
DBClient() |
DBClient(DataSource dataSource) |
| Modifier and Type | Method and Description |
|---|---|
int[] |
batchDelete(Collection<? extends DBObject> modelList)
批量删除
|
int[] |
batchInsert(Collection<? extends DBObject> modelList)
批量插入
|
int[] |
batchInsert(Collection<? extends DBObject> modelList,
boolean useAll)
批量插入
|
int[] |
batchInsertFast(Collection<? extends DBObject> modelList)
快速插入方法
|
int[] |
batchInsertFast(Collection<? extends DBObject> modelList,
boolean useAll)
快速插入方法
|
int[] |
batchUpdate(Collection<? extends DBObject> modelList)
更新对象,如果有乐观锁,会根据乐观锁条件更新,并会更新数据库中的乐观锁条件.但不会更新对象的乐观锁字段的值.
|
int[] |
batchUpdate(Collection<? extends DBObject> modelList,
boolean useNvl)
更新对象,如果有乐观锁,会根据乐观锁条件更新,并会更新数据库中的乐观锁条件.但不会更新对象的乐观锁字段的值.
|
protected void |
closeConnection(Connection conn,
DataSource ds)
释放一个连接,如果 Connection 不在事务中,则关闭它,否则不处理。
|
protected void |
closeConnection(DBContext context,
Connection conn,
DataSource ds) |
boolean |
createTable(Class<?> clz)
建表
|
boolean |
createTables()
创建全部表
|
<T extends DBObject> |
delete(T obj)
删除实体,根据设置的值删除
|
<T extends DBObject> |
deleteByPrimaryKeys(Class<T> clz,
Object... keyParams)
根据主键删除实体
|
<T extends DBObject> |
deleteCascade(T obj,
DBCascadeField... fields)
将对象删除的同时,也将指定级联字段的所有关联字段关联的对象统统删除 注意:
|
<T extends DBObject> |
deleteLinks(T obj,
DBCascadeField... fields)
仅删除对象所有的关联字段,并不包括对象本身。 注意:
|
<T extends DBObject> |
deleteRelation(T obj,
DBCascadeField... fields)
多对多关联是通过一个中间表将两条数据表记录关联起来。
|
boolean |
dropTable(Class<?> clz)
删除表
|
<T> T |
execute(ConnectionCallback<T> action)
数据迭代接口
执行回调,主要是用于存储过程调用
直接获取connection,注意连接不可手动关闭
|
<T> T |
execute(ConnectionCallback<T> action,
boolean readonly)
数据迭代接口
执行回调,主要是用于存储过程调用
直接获取connection,注意连接不可手动关闭
|
<R> R |
execute(Function<DataSource,R> func,
boolean readonly) |
int |
execute(SQLContext context) |
int |
execute(String sql,
Object... parameters)
执行单一sql
|
int[] |
executeBatch(String sql,
List<Object[]> parameters)
批量执行SQL
|
int[] |
executeBatch(String sql,
List<Object[]> parameters,
boolean insertFast,
int batchSize,
List<String> pkeys,
List<Map<String,Object>> keyValues) |
int[] |
executeBatchTemplate(String sqlId,
List<Map<String,Object>> parameters) |
int[] |
executeBatchTemplate(String sqlId,
List<Map<String,Object>> parameters,
boolean insertFast,
int batchSize,
List<String> pkeys,
List<Map<String,Object>> keyValues)
批量处理,带返回主键值的功能.
|
int[] |
executeBatchTemplateSource(String sqlSource,
List<Map<String,Object>> parameters) |
int[] |
executeBatchTemplateSource(String sqlSource,
List<Map<String,Object>> parameters,
boolean insertFast,
int batchSize,
List<String> pkeys,
List<Map<String,Object>> keyValues) |
<R> R |
executeFunc(Function<Connection,R> func)
回调
|
<R> R |
executeFunc(Function<Connection,R> func,
boolean readonly)
回调
|
int |
executeTemplate(String sqlId,
Map<String,Object> paramters) |
int |
executeTemplateSource(String sqlSource,
Map<String,Object> paramters) |
<T extends DBObject> |
exists(T query) |
<T extends DBObject> |
existsByPrimaryKeys(Class<T> clz,
Object... keyParams) |
<T extends DBObject> |
fetchCascade(T query,
Class<T> clz,
DBCascadeField... fields)
查找对象列表,并查询级联字段
|
<T extends DBObject> |
fetchLinks(T obj)
根据一个正则表达式,获取对象所有的关联字段
|
<T extends DBObject> |
fetchLinks(T obj,
DBCascadeField... fields)
根据字段,获取对象所有的关联字段
|
void |
genPojoCodes(String pkg,
String srcPath,
GenConfig config)
根据表名生成对应的pojo类
|
protected Connection |
getConnection(DataSource ds)
获取一个当前线程的连接(事务中),如果没有,则新建一个。
|
protected Connection |
getConnection(DBContext context,
DataSource ds) |
protected DataSource |
getDataSource(boolean readonly)
从clz中获取数据源
|
<T extends DBObject> |
getDialect(boolean readonly)
获取dialect
|
DBDynmicSQL |
getDynmicSQL() |
DBJooq |
getJooq() |
<T> T |
getMapper(Class<T> mapperInterface)
通过mapper接口生成dao代理
|
DBQueryDSL |
getQueryDSL() |
<T extends DBObject> |
insert(T obj)
保存
|
<T extends DBObject> |
insert(T obj,
boolean fast,
boolean useOptimisticLock)
插入结果
|
int |
insertCascade(DBObject obj,
DBCascadeField... fields)
将对象插入数据库同时,也将指定级联字段的所有关联字段关联的对象统统插入相应的数据库
|
<T extends DBObject> |
insertFast(T obj)
快速插入方法,不返还主键.
|
<T extends DBObject> |
insertLinks(T obj,
DBCascadeField... fields)
仅将对象所有的关联字段插入到数据库中,并不包括对象本身
|
<T extends DBObject> |
insertRelation(T obj,
DBCascadeField... fields)
将对象的一个或者多个,多对多的关联信息,插入数据表
|
int |
insertTemplate(String sqlId,
Map<String,Object> paramters,
List<String> pkeys,
Map<String,Object> keyValues)
带主键返回的插入
|
int |
insertTemplateSource(String sqlSource,
Map<String,Object> paramters,
List<String> pkeys,
Map<String,Object> keyValues) |
<T extends DBObject> |
merge(T obj)
合并结果,根据传入主键确定是保存还是修改数据.
|
boolean |
refreshTable(Class<?> clz)
刷新某张表
|
void |
refreshTable(Class<?> clz,
MetadataEventListener listener)
检查并修改数据库中的表,使其和传入的实体模型保持一致。
|
boolean |
refreshTable(TableMapping meta,
MetadataEventListener event,
boolean modifyConstraint,
boolean modifyIndexes)
检查并修改数据库中的表,使其和传入的实体模型保持一致。
|
boolean |
refreshTables()
刷新表
|
List<Map<String,Object>> |
select(Example example) |
List<Map<String,Object>> |
select(String sql,
Object... paras)
查询 map ,注意返回结果字段不区分大小写.
|
Object[] |
selectArray(Example example) |
Object[] |
selectArray(String sql,
Object... parameters)
查询结果为数组
|
Object[] |
selectArrayTemplate(String sqlId,
Map<String,Object> parameters) |
Object[] |
selectArrayTemplateSource(String sqlSource,
Map<String,Object> parameters) |
<T extends DBObject> |
selectByPrimaryKeys(Class<T> clz,
Object... keyParams)
根据主键查询
|
<T extends DBObject> |
selectCount(T query)
查询总数
|
<T> void |
selectIterator(OrmIterator<T> ormIt,
Class<T> beanClass,
boolean usePage,
String sql,
Object... parameters)
是否使用假分页开启迭代模式
|
<T> void |
selectIterator(OrmIterator<T> ormIt,
Class<T> beanClass,
String sql,
Object... parameters)
数据迭代接口
|
<T extends DBObject> |
selectIterator(OrmIterator<T> ormIt,
T query)
查询迭代结果.回调形式.
|
<T extends DBObject> |
selectIterator(OrmIterator<T> ormIt,
T query,
long start,
int limit)
查询限制条数和起始位置的迭代结果.回调形式.
|
<T> void |
selectIteratorTemplate(OrmIterator<T> ormIt,
Class<T> beanClass,
String sqlId,
Map<String,Object> parameters) |
<T> void |
selectIteratorTemplateSource(OrmIterator<T> ormIt,
Class<T> beanClass,
String sqlSource,
Map<String,Object> parameters) |
<T> List<T> |
selectList(Class<T> beanClass,
Example example) |
<T> List<T> |
selectList(Class<T> beanClass,
long start,
int limit,
Example example) |
<T> List<T> |
selectList(Class<T> beanClass,
long start,
int limit,
String sql,
Object... parameters) |
<T> List<T> |
selectList(Class<T> beanClass,
SQLContext context) |
<T> List<T> |
selectList(Class<T> beanClass,
SQLContext context,
long start,
int limit) |
<T> List<T> |
selectList(Class<T> beanClass,
String sql,
Object... parameters)
根据sql查询,返回对应的列表
|
List<?> |
selectList(String resultSetMapping,
long start,
int limit,
String sql,
Object... parameters)
根据@SqlResultSetMapping设置返回值,返回的为单个对象,或数组对象
|
List<?> |
selectList(String resultSetMapping,
String sql,
Object... parameters)
根据@SqlResultSetMapping设置返回值,返回的为单个对象,或数组对象
|
<T extends DBObject> |
selectList(T query)
查询列表
|
<T extends DBObject> |
selectList(T query,
long start,
int limit)
查询列表
|
<T> List<T> |
selectListForUpdate(Class<T> beanClass,
Example example) |
<T extends DBObject> |
selectListForUpdate(T query)
使用select ...
|
<T> List<T> |
selectListTemplate(Class<T> beanClass,
String sqlId,
Map<String,Object> parameters) |
<T> List<T> |
selectListTemplateSource(Class<T> beanClass,
long start,
int limit,
String sqlSource,
Map<String,Object> parameters) |
<T> List<T> |
selectListTemplateSource(Class<T> beanClass,
String sqlSource,
Map<String,Object> parameters) |
<T> T |
selectOne(Class<T> beanClass,
Example example) |
<T> T |
selectOne(Class<T> clz,
SQLContext context) |
<T> T |
selectOne(Class<T> beanClass,
String sql,
Object... parameters)
查询单一对象
|
Object |
selectOne(String resultSetMapping,
String sql,
Object... parameters)
根据@SqlResultSetMapping设置返回值,返回的为单个对象,或数组对象
|
<T extends DBObject> |
selectOne(T query)
查询一条记录,如果结果不唯一则抛出异常
|
<T> T |
selectOneForUpdate(Class<T> beanClass,
Example example) |
<T extends DBObject> |
selectOneForUpdate(T query)
使用select ...
|
<T> T |
selectOneTemplate(Class<T> beanClass,
String sqlId,
Map<String,Object> parameters) |
<T> T |
selectOneTemplateSource(Class<T> beanClass,
String sqlSource,
Map<String,Object> parameters) |
<T> Page<T> |
selectPage(Class<T> clz,
SQLContext context,
long start,
int limit) |
<T> Page<T> |
selectPage(long start,
int limit,
Class<T> beanClass,
Example example) |
<T> Page<T> |
selectPage(long start,
int limit,
Class<T> beanClass,
String sql,
Object... parameters)
分页查询
|
<T extends DBObject> |
selectPage(T query,
long start,
int limit)
查询并分页
|
<T> Page<T> |
selectPageRaw(long start,
int limit,
Class<T> beanClass,
String countSql,
Object[] countParas,
String listSql,
Object[] listParas)
最原始的分页方法,假分页实现,使用result跳过数据,实现
|
<T> Page<T> |
selectPageRaw(long start,
int limit,
Class<T> beanClass,
String countSql,
Object[] countParas,
String listSql,
Object[] listParas,
PageStrategy strategy)
最原始的分页方法,假分页实现,使用result跳过数据,实现
|
<T> Page<T> |
selectPageRawTemplate(long start,
int limit,
Class<T> beanClass,
String countSqlId,
Map<String,Object> countParas,
String listSqlId,
Map<String,Object> listParas)
最原始的分页方法,使用原生sql实现
|
<T> Page<T> |
selectPageRawTemplateSource(long start,
int limit,
Class<T> beanClass,
String countSqlSource,
Map<String,Object> countParas,
String listSqlSource,
Map<String,Object> pageParas) |
<T> Page<T> |
selectPageTemplate(long start,
int limit,
Class<T> beanClass,
String sqlId,
Map<String,Object> parameters) |
<T> Page<T> |
selectPageTemplateSource(long start,
int limit,
Class<T> beanClass,
String sqlSource,
Map<String,Object> parameters) |
<T> void |
selectResultSet(ResultSetCallback<T> callback,
String sql,
Object... parameters)
数据迭代接口
|
<T> void |
selectStream(OrmStream<T> ormStream,
Class<T> beanClass,
boolean usePage,
String sql,
Object... parameters)
数据迭代接口
|
<T> void |
selectStream(OrmStream<T> ormStream,
Class<T> beanClass,
String sql,
Object... parameters)
数据迭代接口
|
<T extends DBObject> |
selectStream(OrmStream<T> ormStream,
T query)
stream lambda形式迭代结果.
|
<T> void |
selectStreamTemplate(OrmStream<T> ormStream,
Class<T> beanClass,
String sqlId,
Map<String,Object> parameters) |
<T> void |
selectStreamTemplateSource(OrmStream<T> ormStream,
Class<T> beanClass,
String sqlSource,
Map<String,Object> parameters) |
List<Map<String,Object>> |
selectTemplate(String sqlId,
Map<String,Object> parameter) |
List<Map<String,Object>> |
selectTemplateSource(String sqlSource,
Map<String,Object> parameter) |
<T extends DBObject> |
setNewOptimisticLockValues(T obj)
警告:从数据库中获取最新的乐观锁的值到对象中,一般情况下,该方法用不到.慎用.
|
<T extends DBObject> |
truncate(Class<T> clz)
清空表数据
|
int |
truncate(Connection con,
TableMapping meta)
执行 truncate table XXXX 命令,快速清光表的数据
|
<T extends DBObject> |
update(T obj)
更新对象(乐观锁不作为更新条件)
|
<T extends DBObject> |
updateAndSet(T obj)
乐观锁, 以特定字段的值作为限制条件,更新对象,并更新该字段的值.参考字段的Java属性名.必须设置了@Version标签
注意:对于时间作为乐观锁,由于数据库和java时间存在差异,如果需要设置更新后的值,需要重新调用OptimisticLock.setNewOptimisticLockValues查询方法设置最新的值.
|
int |
updateCascade(DBObject obj,
DBCascadeField... fields)
将对象更新的同时,也将指定级联字段的所有关联字段关联的对象统统更新
|
<T extends DBObject> |
updateLinks(T obj,
DBCascadeField... fields)
仅更新对象所有的关联字段,并不包括对象本身
|
<T extends DBObject> |
updateRelation(T obj,
DBCascadeField... fields)
多对多关联是通过一个中间表将两条数据表记录关联起来。
|
<T extends DBObject> |
updateWithVersion(T obj)
根据乐观锁条件更新,并会更新数据库中的乐观锁条件.但不会更新对象的乐观锁字段的值.
|
DBClient |
useContext(DBContext context)
使用上下文语境(一次性的,每次使用后必须重新设置,供以后扩展使用.)
|
getDialect, setDataSource, startprotected MapperBuilder mapperBuilder
protected volatile DBJooq dbJooq
protected volatile DBQueryDSL dbQueryDSL
protected volatile DBDynmicSQL dbDynmicSQL
protected ThreadLocal<DBContext> dbContexts
public DBClient(DataSource dataSource)
public DBClient()
public DBClient useContext(DBContext context)
useContext in interface DBMethodcontext - 执行上下文.protected DataSource getDataSource(boolean readonly)
DaoSupportgetDataSource in class DaoSupportreadonly - 是否只读protected Connection getConnection(DataSource ds)
DaoSupportgetConnection in class DaoSupportprotected Connection getConnection(DBContext context, DataSource ds)
protected void closeConnection(Connection conn, DataSource ds)
DaoSupportcloseConnection in class DaoSupportprotected void closeConnection(DBContext context, Connection conn, DataSource ds)
public <T extends DBObject> DBDialect getDialect(boolean readonly)
DBMethodgetDialect in interface DBMethodreadonly - 是否只读public <T extends DBObject> boolean existsByPrimaryKeys(Class<T> clz, Object... keyParams)
existsByPrimaryKeys in interface DBMethodpublic <T extends DBObject> boolean exists(T query)
public <T extends DBObject> T selectByPrimaryKeys(Class<T> clz, Object... keyParams)
DBMethodselectByPrimaryKeys in interface DBMethodT - 泛型clz - 实体类keyParams - 主键参数public <T extends DBObject> long selectCount(T query)
DBMethodselectCount in interface DBMethodT - 泛型query - 查询public <T extends DBObject> T selectOne(T query)
DBMethodpublic <T extends DBObject> T selectOneForUpdate(T query)
DBMethodselectOneForUpdate in interface DBMethodT - 泛型query - 查询条件public <T extends DBObject> List<T> selectList(T query)
DBMethodselectList in interface DBMethodquery - 查询请求。
public <T extends DBObject> List<T> selectList(T query, long start, int limit)
DBMethodselectList in interface DBMethodquery - 查询请求。start - 开始条数limit - 结束条数public <T extends DBObject> List<T> selectListForUpdate(T query)
DBMethodselectListForUpdate in interface DBMethodT - 泛型query - 查询public <T extends DBObject> Page<T> selectPage(T query, long start, int limit)
DBMethodselectPage in interface DBMethodquery - 查询请求start - 起始记录,offset。从0开始。limit - 限制记录条数。如每页10条传入10。public <T> Page<T> selectPage(Class<T> clz, SQLContext context, long start, int limit)
selectPage in interface DBMethodpublic <T> T selectOne(Class<T> clz, SQLContext context)
public <T> List<T> selectList(Class<T> beanClass, SQLContext context)
selectList in interface DBMethodpublic <T> List<T> selectList(Class<T> beanClass, SQLContext context, long start, int limit)
selectList in interface DBMethodpublic <T extends DBObject> void selectIterator(OrmIterator<T> ormIt, T query)
DBMethodselectIterator in interface DBMethodT - 泛型ormIt - 迭代回调方法query - 查询public <T extends DBObject> void selectIterator(OrmIterator<T> ormIt, T query, long start, int limit)
DBMethodselectIterator in interface DBMethodT - 泛型ormIt - 迭代回调方法query - 查询start - 起始数limit - 限制数public <T extends DBObject> void selectStream(OrmStream<T> ormStream, T query)
DBMethodselectStream in interface DBMethodT - 泛型ormStream - 迭代回调方法query - 查询public <T extends DBObject> int insertFast(T obj)
DBMethodinsertFast in interface DBMethodobj - 实体public <T extends DBObject> int insert(T obj, boolean fast, boolean useOptimisticLock)
DBMethodpublic <T extends DBObject> int merge(T obj)
DBMethodpublic <T extends DBObject> int update(T obj)
DBMethodpublic <T extends DBObject> int updateAndSet(T obj)
DBMethod
1.对于数字,则+1;
2.对于日期取当前时间戳.
3.对于字符串,取UUID的值.
执行的sql如下:
update t_user set age=30, city="广州", version=version+1 where name="wendal" and version=124;updateAndSet in interface DBMethodobj - 需要更新的对象, 必须带主键,并设置过主键的值.public <T extends DBObject> int updateWithVersion(T obj)
DBMethodupdateWithVersion in interface DBMethodobj - 需要更新的对象, 必须有@Version属性public <T extends DBObject> void setNewOptimisticLockValues(T obj)
DBMethodsetNewOptimisticLockValues in interface DBMethodT - 泛型obj - 实体public <T extends DBObject> int deleteByPrimaryKeys(Class<T> clz, Object... keyParams)
DBMethoddeleteByPrimaryKeys in interface DBMethodT - 泛型clz - 实体类keyParams - 主键值public <T extends DBObject> int delete(T obj)
DBMethodpublic <T extends DBObject> void truncate(Class<T> clz)
DBMethodpublic int truncate(Connection con, TableMapping meta)
meta - 表名
// route
路由结果。该表对应的所有实例。public int[] batchInsert(Collection<? extends DBObject> modelList)
DBMethodbatchInsert in interface DBMethodmodelList - 对象列表public int[] batchInsert(Collection<? extends DBObject> modelList, boolean useAll)
DBMethodbatchInsert in interface DBMethodmodelList - 对象列表useAll - 是否单一sql做完批量插入public int[] batchInsertFast(Collection<? extends DBObject> modelList)
DBMethodbatchInsertFast in interface DBMethodmodelList - 对象列表public int[] batchInsertFast(Collection<? extends DBObject> modelList, boolean useAll)
DBMethodbatchInsertFast in interface DBMethodmodelList - 对象列表useAll - 是否单一sql做完批量插入public int[] batchUpdate(Collection<? extends DBObject> modelList)
DBMethodbatchUpdate in interface DBMethodmodelList - 对象列表public int[] batchUpdate(Collection<? extends DBObject> modelList, boolean useNvl)
DBMethodbatchUpdate in interface DBMethodmodelList - 对象列表useNvl - 是否使用nvl函数去重public int[] batchDelete(Collection<? extends DBObject> modelList)
DBMethodbatchDelete in interface DBMethodmodelList - 对象列表public void genPojoCodes(String pkg, String srcPath, GenConfig config)
DBMethodgenPojoCodes in interface DBMethodpkg - 包名,如 com.testconfig - 配置生成的风格public boolean createTable(Class<?> clz)
DBMethodcreateTable in interface DBMethodclz - public boolean createTables()
createTables in interface DBMethodpublic boolean refreshTables()
DBMethodrefreshTables in interface DBMethodpublic boolean refreshTable(Class<?> clz)
DBMethodrefreshTable in interface DBMethodclz - 实体类public void refreshTable(Class<?> clz, MetadataEventListener listener) throws SQLException
refreshTable in interface DBMethodclz - 要更新的表对应的类listener - 事件监听器,可以监听刷新过程的事件SQLExceptionpublic boolean refreshTable(TableMapping meta, MetadataEventListener event, boolean modifyConstraint, boolean modifyIndexes) throws SQLException
refreshTable in interface DBMethodmeta - 要更新的表的元数据event - 事件监听器,可以监听刷新过程的事件modifyConstraint - 更改约束modifyIndexes - 更改索引SQLExceptionMetadataEventListenerpublic <T extends DBObject> List<T> fetchCascade(T query, Class<T> clz, DBCascadeField... fields)
DBMethodfetchCascade in interface DBMethodT - 泛型query - 查询clz - 实体类fields - 级联字段public <T extends DBObject> T fetchLinks(T obj)
DBMethodfetchLinks in interface DBMethodobj - 数据对象,不可以是Class啊!!!传对象或集合啊!!!OneToOne,
ManyToMany,
OneToManypublic <T extends DBObject> T fetchLinks(T obj, DBCascadeField... fields)
DBMethodfetchLinks in interface DBMethodobj - 数据对象,不可以是Class啊!!!传对象或集合啊!!!OneToOne,
ManyToMany,
OneToManypublic int execute(SQLContext context)
public int insertCascade(DBObject obj, DBCascadeField... fields)
DBMethod关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
insertCascade in interface DBMethodfields - 指定字段,控制力度更细,至少一个或多个 描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被插入public <T extends DBObject> T insertLinks(T obj, DBCascadeField... fields)
DBMethodinsertLinks in interface DBMethodobj - 数据对象fields - 字段名称,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被插入OneToOne,
ManyToMany,
OneToManypublic <T extends DBObject> T insertRelation(T obj, DBCascadeField... fields)
DBMethodinsertRelation in interface DBMethodobj - 对象fields - 正则表达式,描述了那种多对多关联字段将被执行该操作ManyToManypublic int updateCascade(DBObject obj, DBCascadeField... fields)
DBMethod关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
updateCascade in interface DBMethodobj - 数据对象fields - 指定字段,控制力度更细,至少一个或多个,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被更新public <T extends DBObject> int updateLinks(T obj, DBCascadeField... fields)
DBMethodupdateLinks in interface DBMethodobj - 数据对象fields - 字段名称,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被更新OneToOne,
ManyToMany,
OneToManypublic <T extends DBObject> int updateRelation(T obj, DBCascadeField... fields)
DBMethod而这个中间表可能还有其他的字段,比如描述关联的权重等
这个操作可以让你一次更新某一个对象中多个多对多关联的数据
updateRelation in interface DBMethodobj - 数据对象fields - 字段名称,描述了那种多对多关联字段将被执行该操作ManyToManypublic <T extends DBObject> int deleteCascade(T obj, DBCascadeField... fields)
DBMethodJava 对象的字段会被保留,这里的删除,将只会删除数据库中的记录
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
deleteCascade in interface DBMethodT - 泛型obj - 对象fields - 指定字段,控制力度更细,至少一个或多个 描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被删除public <T extends DBObject> int deleteLinks(T obj, DBCascadeField... fields)
DBMethodJava 对象的字段会被保留,这里的删除,将只会删除数据库中的记录
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
deleteLinks in interface DBMethodobj - 数据对象fields - 字段名称,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被删除OneToOne,
ManyToOne,
ManyToManypublic <T extends DBObject> int deleteRelation(T obj, DBCascadeField... fields)
DBMethod而这个中间表可能还有其他的字段,比如描述关联的权重等
这个操作可以让你一次删除某一个对象中多个多对多关联的数据
deleteRelation in interface DBMethodfields - 字段名称,描述了那种多对多关联字段将被执行该操作ManyToManypublic <T> Page<T> selectPage(long start, int limit, Class<T> beanClass, Example example)
selectPage in interface DBMethodpublic Object[] selectArray(Example example)
selectArray in interface DBMethodpublic <T> List<T> selectList(Class<T> beanClass, Example example)
selectList in interface DBMethodpublic <T> List<T> selectList(Class<T> beanClass, long start, int limit, Example example)
selectList in interface DBMethodpublic <T> List<T> selectListForUpdate(Class<T> beanClass, Example example)
selectListForUpdate in interface DBMethodpublic <T> T selectOneForUpdate(Class<T> beanClass, Example example)
selectOneForUpdate in interface DBMethodpublic List<Map<String,Object>> select(String sql, Object... paras)
DBMethodpublic <T> T selectOne(Class<T> beanClass, String sql, Object... parameters)
DBMethodpublic <T> List<T> selectList(Class<T> beanClass, String sql, Object... parameters)
DBMethodselectList in interface DBMethodT - 泛型beanClass - 返回结果,可以为实体类,Map,List,Object[]sql - 原始语句parameters - 参数public <T> List<T> selectList(Class<T> beanClass, long start, int limit, String sql, Object... parameters)
selectList in interface DBMethodpublic Object[] selectArray(String sql, Object... parameters)
DBMethodselectArray in interface DBMethodsql - 原始语句parameters - 参数public <T> Page<T> selectPage(long start, int limit, Class<T> beanClass, String sql, Object... parameters)
DBMethodselectPage in interface DBMethodT - 泛型start - 起始位置limit - 限制数量beanClass - 返回结果,可以为实体类,Map,List,Object[]sql - 原始语句parameters - 参数public <T> Page<T> selectPageRaw(long start, int limit, Class<T> beanClass, String countSql, Object[] countParas, String listSql, Object[] listParas)
DBMethodselectPageRaw in interface DBMethodT - 泛型start - 起始位置limit - 限制数量beanClass - 返回结果,可以为实体类,Map,List,Object[]countSql - 查询总数的语句countParas - 查询总数的参数listSql - 查询列表的语句,不能包含限制条数(start和limit)的内容.listParas - 查询列表的参数public <T> Page<T> selectPageRaw(long start, int limit, Class<T> beanClass, String countSql, Object[] countParas, String listSql, Object[] listParas, PageStrategy strategy)
DBMethodselectPageRaw in interface DBMethodT - 泛型start - 起始位置limit - 限制数量beanClass - 返回结果,可以为实体类,Map,List,Object[]countSql - 查询总数的语句countParas - 查询总数的参数listSql - 查询列表的语句listParas - 查询列表的参数strategy - 分页策略public <T> void selectIterator(OrmIterator<T> ormIt, Class<T> beanClass, String sql, Object... parameters)
DBMethodselectIterator in interface DBMethodT - 泛型ormIt - 回调beanClass - 返回结果,可以为实体类,Map,List,Object[]sql - 原始语句parameters - 参数public <T> void selectIterator(OrmIterator<T> ormIt, Class<T> beanClass, boolean usePage, String sql, Object... parameters)
DBMethodselectIterator in interface DBMethodT - 泛型ormIt - 回调beanClass - 返回结果,可以为实体类,Map,List,Object[]usePage - 是否使用分页模式,如果为true,使用分页语句实现迭代功能sql - 原始语句parameters - 泛型public <T> void selectStream(OrmStream<T> ormStream, Class<T> beanClass, String sql, Object... parameters)
DBMethodselectStream in interface DBMethodT - 泛型ormStream - 回调beanClass - 返回结果,可以为实体类,Map,List,Object[]sql - 原始语句parameters - 参数public <T> void selectStream(OrmStream<T> ormStream, Class<T> beanClass, boolean usePage, String sql, Object... parameters)
DBMethodselectStream in interface DBMethodT - 泛型ormStream - 回调beanClass - 返回结果,可以为实体类,Map,List,Object[]usePage - 是否使用分页语句实现迭代sql - 原始语句parameters - 参数public <T> void selectResultSet(ResultSetCallback<T> callback, String sql, Object... parameters)
DBMethodselectResultSet in interface DBMethodT - 泛型callback - 回调sql - 原始语句parameters - 参数public <T> T execute(ConnectionCallback<T> action)
DBMethodpublic <T> T execute(ConnectionCallback<T> action, boolean readonly)
DBMethodpublic <R> R execute(Function<DataSource,R> func, boolean readonly)
public <R> R executeFunc(Function<Connection,R> func, boolean readonly)
DBMethodexecuteFunc in interface DBMethodpublic <R> R executeFunc(Function<Connection,R> func)
DBMethodexecuteFunc in interface DBMethodpublic int execute(String sql, Object... parameters)
DBMethodpublic int[] executeBatch(String sql, List<Object[]> parameters)
DBMethodexecuteBatch in interface DBMethodsql - 原始语句parameters - 参数public int[] executeBatch(String sql, List<Object[]> parameters, boolean insertFast, int batchSize, List<String> pkeys, List<Map<String,Object>> keyValues)
executeBatch in interface DBMethodpublic List<?> selectList(String resultSetMapping, String sql, Object... parameters)
DBMethodselectList in interface DBMethodresultSetMapping - @SqlResultSetMapping 中的namepublic List<?> selectList(String resultSetMapping, long start, int limit, String sql, Object... parameters)
DBMethodselectList in interface DBMethodresultSetMapping - @SqlResultSetMapping 中的namepublic Object selectOne(String resultSetMapping, String sql, Object... parameters)
DBMethodpublic List<Map<String,Object>> selectTemplate(String sqlId, Map<String,Object> parameter)
selectTemplate in interface DBMethodpublic <T> T selectOneTemplate(Class<T> beanClass, String sqlId, Map<String,Object> parameters)
selectOneTemplate in interface DBMethodpublic Object[] selectArrayTemplate(String sqlId, Map<String,Object> parameters)
selectArrayTemplate in interface DBMethodpublic <T> Page<T> selectPageTemplate(long start, int limit, Class<T> beanClass, String sqlId, Map<String,Object> parameters)
selectPageTemplate in interface DBMethodpublic <T> Page<T> selectPageRawTemplate(long start, int limit, Class<T> beanClass, String countSqlId, Map<String,Object> countParas, String listSqlId, Map<String,Object> listParas)
DBMethodselectPageRawTemplate in interface DBMethodT - 泛型start - 起始位置limit - 限制数量beanClass - 返回结果,可以为实体类,Map,List,Object[]countSqlId - 查询总数的语句idcountParas - 查询总数的参数listSqlId - 分页列表查询语句id,不能包含了start和limit的内容listParas - 分页列表查询参数public <T> void selectIteratorTemplate(OrmIterator<T> ormIt, Class<T> beanClass, String sqlId, Map<String,Object> parameters)
selectIteratorTemplate in interface DBMethodpublic <T> void selectStreamTemplate(OrmStream<T> ormStream, Class<T> beanClass, String sqlId, Map<String,Object> parameters)
selectStreamTemplate in interface DBMethodpublic int insertTemplate(String sqlId, Map<String,Object> paramters, List<String> pkeys, Map<String,Object> keyValues)
DBMethodinsertTemplate in interface DBMethodpkeys - 主键列keyValues - 可以插入值的Map,一般为new HashMap();public int executeTemplate(String sqlId, Map<String,Object> paramters)
executeTemplate in interface DBMethodpublic int[] executeBatchTemplate(String sqlId, List<Map<String,Object>> parameters)
executeBatchTemplate in interface DBMethodpublic int[] executeBatchTemplate(String sqlId, List<Map<String,Object>> parameters, boolean insertFast, int batchSize, List<String> pkeys, List<Map<String,Object>> keyValues)
DBMethodexecuteBatchTemplate in interface DBMethodpublic <T> List<T> selectListTemplate(Class<T> beanClass, String sqlId, Map<String,Object> parameters)
selectListTemplate in interface DBMethodpublic List<Map<String,Object>> selectTemplateSource(String sqlSource, Map<String,Object> parameter)
selectTemplateSource in interface DBMethodpublic <T> T selectOneTemplateSource(Class<T> beanClass, String sqlSource, Map<String,Object> parameters)
selectOneTemplateSource in interface DBMethodpublic Object[] selectArrayTemplateSource(String sqlSource, Map<String,Object> parameters)
selectArrayTemplateSource in interface DBMethodpublic <T> Page<T> selectPageTemplateSource(long start, int limit, Class<T> beanClass, String sqlSource, Map<String,Object> parameters)
selectPageTemplateSource in interface DBMethodpublic <T> Page<T> selectPageRawTemplateSource(long start, int limit, Class<T> beanClass, String countSqlSource, Map<String,Object> countParas, String listSqlSource, Map<String,Object> pageParas)
selectPageRawTemplateSource in interface DBMethodlistSqlSource - 分页列表查询模板语句,不能包含了start和limit的内容public <T> void selectIteratorTemplateSource(OrmIterator<T> ormIt, Class<T> beanClass, String sqlSource, Map<String,Object> parameters)
selectIteratorTemplateSource in interface DBMethodpublic <T> void selectStreamTemplateSource(OrmStream<T> ormStream, Class<T> beanClass, String sqlSource, Map<String,Object> parameters)
selectStreamTemplateSource in interface DBMethodpublic int insertTemplateSource(String sqlSource, Map<String,Object> paramters, List<String> pkeys, Map<String,Object> keyValues)
insertTemplateSource in interface DBMethodpublic int executeTemplateSource(String sqlSource, Map<String,Object> paramters)
executeTemplateSource in interface DBMethodpublic int[] executeBatchTemplateSource(String sqlSource, List<Map<String,Object>> parameters)
executeBatchTemplateSource in interface DBMethodpublic int[] executeBatchTemplateSource(String sqlSource, List<Map<String,Object>> parameters, boolean insertFast, int batchSize, List<String> pkeys, List<Map<String,Object>> keyValues)
executeBatchTemplateSource in interface DBMethodpublic <T> List<T> selectListTemplateSource(Class<T> beanClass, String sqlSource, Map<String,Object> parameters)
selectListTemplateSource in interface DBMethodpublic <T> List<T> selectListTemplateSource(Class<T> beanClass, long start, int limit, String sqlSource, Map<String,Object> parameters)
selectListTemplateSource in interface DBMethodpublic DBDynmicSQL getDynmicSQL()
getDynmicSQL in interface DBMethodpublic DBQueryDSL getQueryDSL()
getQueryDSL in interface DBMethodCopyright © 2020. All rights reserved.