public interface DynamicMapper
| 限定符和类型 | 方法和说明 |
|---|---|
long |
countBySql(String sql)
根据传入的sql查询总条数
|
long |
countBySqlWithParams(String sql,
Map<String,Object> params)
根据传入的sql、参数查询总条数
|
<T> int |
deleteByBuilder(QueryBuilder<T> builder)
根据构造条件批量删除数据
|
<T> int |
insertBatch(List<T> list)
批量新增
|
<T> List<T> |
selectByBuilder(QueryBuilder<T> builder)
根据构造条件查询数据
|
List<Map<String,Object>> |
selectByMap(String sql)
根据传入的sql返回map结果
|
List<Map<String,Object>> |
selectByMapWithParams(String sql,
Map<String,Object> params)
根据传入的sql、参数返回map结果
代码示例:
Map<String,Object> paramMap=new HashMap<>();
paramMap.put("limit", 3);
paramMap.put("userId", 10);
paramMap.put("create_time", new Date());
paramMap.put("orderByClause", " create_time desc ");
paramMap.put("userIdList", Arrays.asList(13,14,15));
List<Map<String,Object>> userList = dao.selectByMapWithParams("Select user_id,user_name as userName,create_time as createTime from t_user "+
" where user_id>=#{userId} and user_id not in #{userIdList} and create_time< #{create_time} order by ${orderByClause} limit #{limit}",paramMap);
|
<T> List<T> |
selectBySql(String sql,
Class<T> clazz)
根据传入的sql及返回类型执行查询
|
<T> List<T> |
selectBySqlWithParams(String sql,
Map<String,Object> params,
Class<T> clazz)
根据传入的sql、参数及返回类型执行查询
代码示例:
Map<String,Object> paramMap=new HashMap<>();
paramMap.put("limit", 3);
paramMap.put("userId", 10);
paramMap.put("create_time", new Date());
paramMap.put("userName", "%姓名%");
paramMap.put("orderByClause", " create_time desc ");
paramMap.put("userIdList", Arrays.asList(13,14,15));
List<TUser> userList = dao.selectBySqlWithParams("Select user_id,user_name as userName,create_time as createTime from t_user "+
" where user_id>=#{userId} and user_id not in #{userIdList} and create_time< #{create_time} order by ${orderByClause} limit #{limit}",paramMap,TUser.class);
|
<T> int |
updateByBuilder(QueryBuilder<T> builder)
根据构造条件批量更新数据
|
@SelectProvider(type=DynamicSqlProvider.class, method="selectByBuilder") <T> List<T> selectByBuilder(QueryBuilder<T> builder)
T - 返回数据列表类型builder - 构造条件@SelectProvider(type=DynamicSqlProvider.class, method="selectBySql") <T> List<T> selectBySql(String sql, Class<T> clazz)
T - 返回数据列表类型sql - 要执行查询的sqlclazz - 返回数据列表类型@SelectProvider(type=DynamicSqlProvider.class, method="selectBySql") long countBySql(String sql)
sql - 计算总条数的sql@SelectProvider(type=DynamicSqlProvider.class, method="selectBySqlWithParams") <T> List<T> selectBySqlWithParams(@Param(value="sql") String sql, @Param(value="params") Map<String,Object> params, @Param(value="clazz") Class<T> clazz)
代码示例:
Map<String,Object> paramMap=new HashMap<>();
paramMap.put("limit", 3);
paramMap.put("userId", 10);
paramMap.put("create_time", new Date());
paramMap.put("userName", "%姓名%");
paramMap.put("orderByClause", " create_time desc ");
paramMap.put("userIdList", Arrays.asList(13,14,15));
List<TUser> userList = dao.selectBySqlWithParams("Select user_id,user_name as userName,create_time as createTime from t_user "+
" where user_id>=#{userId} and user_id not in #{userIdList} and create_time< #{create_time} order by ${orderByClause} limit #{limit}",paramMap,TUser.class);
T - 返回数据列表类型sql - 要执行查询的sqlparams - 参数clazz - 返回数据列表类型@SelectProvider(type=DynamicSqlProvider.class, method="selectBySqlWithParams") long countBySqlWithParams(@Param(value="sql") String sql, @Param(value="params") Map<String,Object> params)
sql - 计算总条数的sqlparams - 参数@SelectProvider(type=DynamicSqlProvider.class, method="selectBySql") @ResultType(value=java.util.Map.class) List<Map<String,Object>> selectByMap(String sql)
sql - 要执行查询的sql@SelectProvider(type=DynamicSqlProvider.class, method="selectBySqlWithParams") @ResultType(value=java.util.Map.class) List<Map<String,Object>> selectByMapWithParams(@Param(value="sql") String sql, @Param(value="params") Map<String,Object> params)
代码示例:
Map<String,Object> paramMap=new HashMap<>();
paramMap.put("limit", 3);
paramMap.put("userId", 10);
paramMap.put("create_time", new Date());
paramMap.put("orderByClause", " create_time desc ");
paramMap.put("userIdList", Arrays.asList(13,14,15));
List<Map<String,Object>> userList = dao.selectByMapWithParams("Select user_id,user_name as userName,create_time as createTime from t_user "+
" where user_id>=#{userId} and user_id not in #{userIdList} and create_time< #{create_time} order by ${orderByClause} limit #{limit}",paramMap);
sql - 要执行查询的sqlparams - 参数@InsertProvider(type=DynamicSqlProvider.class, method="insertBatch") <T> int insertBatch(@Param(value="list") List<T> list)
T - 数据类型list - 要新增的数据列表@UpdateProvider(type=DynamicSqlProvider.class, method="updateByBuilder") <T> int updateByBuilder(QueryBuilder<T> builder)
T - 数据类型builder - 构造条件@DeleteProvider(type=DynamicSqlProvider.class, method="deleteByBuilder") <T> int deleteByBuilder(QueryBuilder<T> builder)
T - 数据类型builder - 构造条件Copyright © 2020. All rights reserved.