作者:钟剑华 历史版本:1 更新时间:2024-09-20 15:13
适用版本:所有版本;
完整类名:com.lc.ibps.base.db.mybatis.MybatisTemplateProvider
适用哪些服务?
- 通过business
调用方式例子
- 查询数据
import com.lc.ibps.base.core.util.BeanUtils;
import java.util.Map;
// 执行单条SQL查询
String sql = "select id_,name_ form t_stu where age_>#{p0}";
Object[] params = new Object[] {18};
// TODO 添加参数到params
List<?> queryDatas = mybatisTemplateProvider.query(sql, params);
if (BeanUtils.isNotEmpty(queryDatas)) {
for (Object object : queryDatas) {
Map<String, Object> tempMap = (Map<String, Object>)object;
// TODO 处理数据
}
}
- 执行sql
// 单条sql执行多次
String sql = "INSERT INTO t_kfylcsdx (id_,dan_xing_) VALUES (#{p0},#{p1})";
for (int i = 0; i < 1000; i++) {
List<Object[]> params = new ArrayList<>(100);
String uid = UniqueIdUtil.getId();
for (int j = 0; j < 100; j++) {
Object[] param = new Object[14];
param[0] = uid + i + j;
param[1] = "测试" + i + "-" + j;
params.add(param);
}
mybatisTemplateProvider.execute(sql, params);
}
常用方法
/**
* 执行SQL语句修改数据,单条完整SQL
*
* @param sql
*/
public void execute(String sql);
/**
* <pre>
* 执行单条SQL
* SQL语句使用#{p+N}作为占位符,N即参数下标;
* 例:insert into t_test(id_,name_) values(#{p0},#{p1})
* </pre>
*
* @param sql
* @param params
*/
public void execute(String sql, Object[] params);
/**
* <pre>
* 执行单条SQL,处理多条数据
* SQL语句使用#{p+N}作为占位符,N即参数下标;
* 例:insert into t_test(id_,name_) values(#{p0},#{p1})
* </pre>
*
* @param sql
* @param params
*/
public void execute(String sql, List<Object[]> params);
/**
* <pre>
* 执行单条SQL
* SQL语句使用#{paramName}作为占位符,paramName即参数变量名;
* 例:insert into t_test(id_,name_) values(#{id},#{name})
* </pre>
*
* @param sql
* @param params
*/
public void executeOfMap(String sql, Map<String, Object> params);
/**
* <pre>
* 执行单条SQL,处理多条数据
* SQL语句使用#{paramName}作为占位符,paramName即参数变量名;
* 例:insert into t_test(id_,name_) values(#{id},#{name})
* </pre>
*
* @param sql
* @param params
*/
public void executeOfMaps(String sql, List<Map<String, Object>> params);
/**
* <pre>
* 批量执行SQL,并且每条SQL都是多条数据
* SQL语句使用#{p+N}作为占位符,N即参数下标;
* 例:insert into t_test(id_,name_) values(#{p0},#{p1})
* </pre>
*
* @param sqls
*/
public void execute(Map<String, List<Object[]>> sqls);
/**
* <pre>
* 批量执行SQL,并且每条SQL都是多条数据
* SQL语句使用#{paramName}作为占位符,paramName即参数变量名;
* 例:insert into t_test(id_,name_) values(#{id},#{name})
* </pre>
*
* @param sqls
*/
public void executeOfMaps(Map<String, List<Map<String, Object>>> sqls);
/**
* 执行SQL查询
*
* @param sql
* @return
*/
public List<?> query(String sql);
/**
* 执行SQL分页查询
*
* @param sql
* @param page
* @return
*/
public List<?> query(String sql, Page page);
/**
* <pre>
* 执行单条SQL
* SQL语句使用#{p+N}作为占位符,N即参数下标;
* 例:insert into t_test(id_,name_) values(#{p0},#{p1})
* </pre>
*
* @param sql
* @param params
*/
public List<?> query(String sql, Object[] params);
/**
* 执行SQL条件动态查询
*
* @param sql
* @param queryFilter
* @param params
* @return
*/
public <T> List<T> queryForList(String sql, QueryFilter queryFilter, Map<String, Object> params);
/**
* 执行SQL分页条件动态查询
*
* @param sql
* @param queryFilter
* @param params
* @return
*/
public <T> PageList<T> queryForListPage(String sql, QueryFilter queryFilter, Map<String, Object> params);
/**
* 执行SQL执行统计语句查询数据
*
* @param sql
* @param countSql
* @param params
* @param startIndex
* @param pageSize
* @return
*/
public <T> PageList<T> queryByCusPage(String sql, String countSql, Map<String, Object> params, Integer startIndex, Integer pageSize);
/**
* 执行SQL分页动态查询主键数据
*
* @param pk
* @param sql
* @param queryFilter
* @param params
* @return
*/
public <T> PageList<T> queryPksForListPage(String pk, String sql, QueryFilter queryFilter, Map<String, Object> params);
/**
* 执行SQL主键动态查询
*
* @param pk
* @param sql
* @param queryFilter
* @param params
* @return
*/
public <T> List<T> queryPksForList(String pk, String sql, QueryFilter queryFilter, Map<String, Object> params);
/**
* 解析动态参数
*
* @param queryFilter
* @return
*/
public Map<String, Object> parseQueryFilter(QueryFilter queryFilter);