- 介绍
- 方法
- getConnection() : Connection
- getDbType() : DbType
- clearMyBatisCache()
- clearMyBatisCache(String tableCode)
- clearMyBatisFuncCache(String funcCode)
- insert(DynaBean beanMap) : int
- insert(String tableCode, DynaBean beanMap) : int
- insertBatch(List< DynaBean> list) : int
- insertBatch(String tableCode, List< DynaBean> list) : int
- update(DynaBean beanMap) : int
- update(DynaBean beanMap, ConditionsWrapper wrapper) : int
- update(String tableCode, String pkValue, DynaBean beanMap, ConditionsWrapper wrapper) : int
- delete(ConditionsWrapper wrapper) : int
- delete(String tableCode, ConditionsWrapper wrapper) : int
- selectSql(String sql, Object… params) : List<Map<String, Object>>
- selectSql(int current, int size, String sql, Object… params) : List<Map<String, Object>>
- selectSql(ConditionsWrapper wrapper) : List<Map<String, Object>>
- selectSql(Page page,ConditionsWrapper wrapper) : List<Map<String, Object>>
- selectSql(String tableCode, int current, int size, String sql, Object… params) : List<Map<String, Object>>
- select(String tableCode, Page page, String sql, Object… params) : List< DynaBean>
- select(ConditionsWrapper wrapper) : List< DynaBean>
- select(String tableCode, ConditionsWrapper wrapper) : List< DynaBean>
- select(String tableCode, ConditionsWrapper wrapper, String columns) : List< DynaBean>
- select(String tableCode, int size, ConditionsWrapper wrapper) : List< DynaBean>
- select(int current, int size, ConditionsWrapper wrapper) : List< DynaBean>
- select(String tableCode, int current, int size) : List< DynaBean>
- select(String tableCode, int current, int size, ConditionsWrapper wrapper) : List< DynaBean>
- select(String tableCode, Page page, ConditionsWrapper wrapper) : List< DynaBean>
- select(String tableCode, Page page, ConditionsWrapper wrapper, String columns) : List< DynaBean>
- selectOne(String tableCode, ConditionsWrapper wrapper) : DynaBean
- selectOne(String tableCode, ConditionsWrapper wrapper, String columns) : DynaBean
- load(String funcCode, Page page, String sql, Object… params) : List<Map<String, Object>>
- load(String funcCode, Page page, String sql, Object… params) : List<Map<String, Object>>
- selectOneByPk(String tableCode, String pkValue) : DynaBean
- selectOneByPk(String tableCode, String pkValue, String columns) : DynaBean
- executeSql(String sql, Object… params) : int
- executeSql(ConditionsWrapper wrapper) : int
- countBySql(String sql, Object… params) : long
- countBySql(ConditionsWrapper wrapper) : long
介绍
MetaService类是在控制器(Controller)或某些实现类中进行引入,调运类里面封装的公有方法来操作平台数据库连接、数据增删改查及底层mybatis
方法
getConnection() : Connection
获取数据库连接对象
参数说明:无参
返回数据说明: return connection
返回数据库连接信息
示例:
/** * 获取数据库连接对象 * getConnection()方法实现 * @return Connection 返回数据库连接信息 */ public Connection getConnection() { try { Connection connection; //循环获取,避免拿到已经失效的连接 do { connection = dataSource.getConnection(); } while (connection.isClosed()); return connection; } catch (SQLException e) { throw new PlatformException("获取数据库连接失败!", PlatformExceptionEnum.CONNECTION_ERROR, e); } } /** * 调运方法的案例 */ Connection connection = metaService.getConnection();
注意
getDbType() : DbType
获取数据库类型
参数说明:无参
返回数据说明:return DbType
返回数据库类型
示例:
/** * 获取数据库类型 * getDbType()方法实现 * @return DbType 返回数据库类型 */ public DbType getDbType() { try { return DbType.getDbTypeByUrl(getConnection().getMetaData().getURL()); } catch (SQLException e) { throw new PlatformException("获取数据库连接失败!", PlatformExceptionEnum.CONNECTION_ERROR, e); } }
注意
clearMyBatisCache()
清空缓存
参数说明:无参
返回数据说明:无返回值
示例:
/** * 清空所有缓存中调运的方法 */ metaService.clearMyBatisCache();
clearMyBatisCache(String tableCode)
清空表缓存
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
返回数据说明:无返回值
示例:
/** * 清空表缓存中调运的方法 */ metaService.clearMyBatisFuncCache(dynaBean.getStr("FUNCINFO_FUNCCODE"));
注意
clearMyBatisFuncCache(String funcCode)
清空功能缓存
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
funcCode | String | 功能编码 |
返回数据说明:无返回值
示例:
/** * 清空功能缓存中调运的方法 */ metaService.clearMyBatisFuncCache(dynaBean.getStr("FUNCINFO_FUNCCODE"));
注意
insert(DynaBean beanMap) : int
插入字段值
- 参数说明:DynaBean beanMap
属性名 | 类型 | 说明 |
---|---|---|
DynaBean | Object | 实体对象 |
返回数据说明:return int
返回插入的记录数,返回值类型为int
示例:
/** * 无表名插入数据,返回插入记录数 */ DynaBean bean = new DynaBean(); bean.setStr("USER_NAME", "张三"); metaService.insert(bean);
注意
insert(String tableCode, DynaBean beanMap) : int
根据指定表名插入数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
beanMap | Object | 实体对象 |
返回数据说明:return int
返回插入的记录数,返回值类型为int
示例:
/** * 根据指定表名插入数据,返回插入记录数 */ DynaBean bean = new DynaBean(); bean.setStr("USER_NAME", "张三"); metaService.insert("JE_CORE_ENDUSER",bean);
注意
insertBatch(List< DynaBean> list) : int
批量插入数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
List< DynaBean> | List | 插入数据集合 |
返回数据说明:return int
返回插入的记录数,返回值类型为int
示例
注意
insertBatch(String tableCode, List< DynaBean> list) : int
根据表名批量插入数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
List< DynaBean> | List | 插入数据集合 |
返回数据说明:return int
返回插入的记录数,返回值类型为int
示例
注意
update(DynaBean beanMap) : int
根据主键修改数据,主键在DynaBean中可以获取
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
DynaBean | Object | 实体对象 |
返回数据说明:return int
返回修改的记录数,返回值类型为int
示例
public DynaBean editOrder(Order order) { order.setStr("JE_DEMO_ORDER_ID",order.getOrderId); order.setStr("ORDER_NAME","商品名称"); metaService.update(order); }
注意
update(DynaBean beanMap, ConditionsWrapper wrapper) : int
根据主键与相关条件修改数据,主键在DynaBean中可以获取
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
DynaBean | Object | 实体对象 |
ConditionsWrapper | where条件 |
返回数据说明:return int
返回修改的记录数,返回值类型为int
示例
public DynaBean editOrder(Order order) { order.setStr("JE_DEMO_ORDER_NUM","80"); /**条件是订单状态为1在修改订单数量 */ /** where JE_DEMO_ORDER_STATUS = '1' */ metaService.update(order, ConditionsWrapper.builder() .eq("JE_DEMO_ORDER_ID", order.getStr("JE_DEMO_ORDER_ID")) .eq("JE_DEMO_ORDER_STATUS", "1")); }
注意
update(String tableCode, String pkValue, DynaBean beanMap, ConditionsWrapper wrapper) : int
指定表名、主键、修改字段、相关条件修改数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | Object | 表名 |
pkValue | Object | 主键 |
DynaBean | Object | 实体对象 |
ConditionsWrapper | where条件 |
返回数据说明:return int
返回修改的记录数,返回值类型为int
示例
注意
delete(ConditionsWrapper wrapper) : int
使用条件解析器表名删除数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
ConditionsWrapper | where条件 |
返回数据说明:return int
返回删除的记录数,返回值类型为int
示例
ConditionsWrapper deleteWrapper = ConditionsWrapper.builder().table("HR_ZP_MSYY").eq("HR_ZP_TALENT_ID", bean.getStr("HR_ZP_TALENT_ID")); metaService.delete(deleteWrapper);
注意
delete(String tableCode, ConditionsWrapper wrapper) : int
指定表名与条件进行删除
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
ConditionsWrapper | where条件 |
返回数据说明:return int
返回删除的记录数,返回值类型为int
示例
ConditionsWrapper deleteWrapper = ConditionsWrapper.builder().table("CRM_JYGL_HISTORY").eq("HISTORY_SJBGGL_ID", businessChangeId); metaService.delete("CRM_JYGL_HISTORY", deleteWrapper);
注意
selectSql(String sql, Object… params) : List<Map<String, Object>>
查询数据使用自定义sql不进行分页处理
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
sql | String | sql语句 |
params | sql参数数组 |
返回数据说明:return List
返回查询到的数据集合
示例
List<Map<String, Object>> resultList = metaService.selectSql("select CBZJ_PT_BJJBXX_FAFL_ID from CBZJ_PT_BJJBXX_FAFL where CBZJ_PT_BJJBXX_BJQD_ID={0}", bjqd_id);
注意
selectSql(int current, int size, String sql, Object… params) : List<Map<String, Object>>
查询数据使用自定义sql并进行分页处理
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
current | int | 第几页 |
size | int | 每页数量 |
sql | String | sql语句 |
params | sql参数数组 |
返回数据说明:return List
返回查询到的数据集合
示例
String queryUser = " ZHID='" + currentUser.getZhId() + "' AND STATUS='1' AND VALID='1' "; List<Map<String, Object>> deptExtInfos = metaService.selectSql(1, end, " SELECT DEPTNAME LOGINLOG_DLDEPT_NAME,deptId LOGINLOG_DLDEPT_ID,'0' LOGINLOG_DLR_ID,0 TYPESUM FROM JE_CORE_DEPARTMENT WHERE " + queryDept);
注意
selectSql(ConditionsWrapper wrapper) : List<Map<String, Object>>
查询数据使用自定义sql不分页处理
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
ConditionsWrapper | 条件 |
返回数据说明:return List
返回查询到的数据集合
示例
String parent = dynaBean.getStr("SY_PARENT"); List<Map<String, Object>> objs = metaService.selectSql(ConditionsWrapper.builder( "select MAX(SY_TREEORDERINDEX) AS MAX FROM " + dynaBean.getTableCode() + " WHERE SY_PARENT= {0}", parent) .table(dynaBean.getTableCode()));
注意
selectSql(Page page,ConditionsWrapper wrapper) : List<Map<String, Object>>
查询数据使用自定义sql,有分页处理
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
Page | 分页对象 | |
ConditionsWrapper | 条件 |
返回数据说明:return List
返回查询到的数据集合
示例
//查询订单信息 public void selectOrder(MethodArgument param){ //分页对象 Page page = new Page<>(param.getPage(), param.getLimit()); //拼接条件 ConditionsWrapper wrapper = ConditionsWrapper.builder(param); //执行查询 List<Map<String, Object>> result = metaService.selectSql(page, wrapper); }
注意
selectSql(String tableCode, int current, int size, String sql, Object… params) : List<Map<String, Object>>
指定表名查询数据,使用自定义sql
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
current | int | 第几页 |
size | int | 每页数量 |
sql | String | sql语句 |
params | sql参数数组 |
返回数据说明:return List
返回查询到的数据集合
示例
注意
select(String tableCode, Page page, String sql, Object… params) : List< DynaBean>
指定表名查询数据,使用自定义sql
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
Page | 分页对象 | |
sql | String | sql语句 |
params | sql参数数组 |
返回数据说明:return List
返回查询到的数据集合
示例
注意
select(ConditionsWrapper wrapper) : List< DynaBean>
查询数据不分页,使用条件解析器的表名
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
ConditionsWrapper | 条件解析器 |
返回数据说明:return List
返回查询到的数据集合
示例
List<DynaBean> cpDics = metaService.select(ConditionsWrapper.builder().table("JE_SAAS_CPYHZY"). apply("CPYHZY_TYPE='YHDIC' AND CPYHZY_ZHID='SYSTEM'"));
注意
select(String tableCode, ConditionsWrapper wrapper) : List< DynaBean>
指定表名查询数据且不分页
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | 表名 | |
ConditionsWrapper | 条件解析器 |
返回数据说明:return List
返回查询到的数据集合
示例
List<DynaBean> dynaBeanList = metaService.select("JE_PM_LINK", ConditionsWrapper.builder().eq("LINK_YESORNO_CODE", "1").orderByAsc("SY_ORDERINDEX"));
注意
select(String tableCode, ConditionsWrapper wrapper, String columns) : List< DynaBean>
指定表名列名查询数据不分页
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | 表名 | |
ConditionsWrapper | 条件解析器 | |
columns |
返回数据说明:return List
返回查询到的数据集合
示例
List<DynaBean> list = metaService.select("JE_LXSB_SBJH", ConditionsWrapper.builder().eq("JE_LXSB_SBXX_ID", id), "SBJH_JHAP,SBJH_WCQK,SBJH_ZMFJ");
注意
select(String tableCode, int size, ConditionsWrapper wrapper) : List< DynaBean>
默认查询第一页数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | 表名 | |
ConditionsWrapper | 条件解析器 | |
size | 每页数量 |
返回数据说明:return List
返回查询到的数据集合
示例
注意
select(int current, int size, ConditionsWrapper wrapper) : List< DynaBean>
查询使用条件解析器的表名,有分页
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
current | 第几页 | |
ConditionsWrapper | 条件解析器 | |
size | 每页数量 |
返回数据说明:return List
返回查询到的数据集合
示例
注意
select(String tableCode, int current, int size) : List< DynaBean>
查询不使用条件解析器的表名,有分页
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
current | int | 第几页 |
size | int | 每页数量 |
返回数据说明:return List
返回查询到的数据集合
示例
注意
select(String tableCode, int current, int size, ConditionsWrapper wrapper) : List< DynaBean>
查询数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
current | int | 第几页 |
size | int | 每页数量 |
ConditionsWrapper | 条件解析器 |
返回数据说明:return List
返回查询到的数据集合
示例
ConditionsWrapper conditionsWrapper = ConditionsWrapper.builder().table("JE_SYS_LOGINLOG").eq("SY_ZHID", currentUser.getZhId()).apply("ORDER BY LOGINLOG_DLSJ DESC"); List<DynaBean> lists = metaService.select("JE_SYS_LOGINLOG", start, limit, conditionsWrapper);
注意
select(String tableCode, Page page, ConditionsWrapper wrapper) : List< DynaBean>
查询数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
Page | 分页对象 | |
ConditionsWrapper | 条件解析器 |
返回数据说明:return List
返回查询到的数据集合
示例
public BaseRespResult selectCapacityHour(MethodArgument param) { HttpServletRequest request = param.getRequest(); //获取当前登录人信息 EndUser currentUser = SecurityUserHolder.getCurrentUser(); //分页参数 int start = param.getStart(); int limit = param.getLimit(); Page page = new Page(start, limit); String capacityStartDate = request.getParameter("capacityStartDate"); //产能开始日期 String capacityEndDate = request.getParameter("capacityEndDate"); //产能结束日期 List<DynaBean> dynaBeanList = dynaBeanList = metaService.select("JE_PM_GZTGS", page, ConditionsWrapper.builder().eq("ZXR_ID", currentUser.getUserId()) .ge("SUB_SY_CREATETIME", capacityStartDate).le("SUB_SY_CREATETIME", capacityEndDate).orderByDesc("SUB_SY_CREATETIME")); }
select(String tableCode, Page page, ConditionsWrapper wrapper, String columns) : List< DynaBean>
查询数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
Page | 分页对象 | |
ConditionsWrapper | 条件解析器 | |
columns | String | 字段列 |
返回数据说明:return List
返回查询到的数据集合
示例
int start = param.getStart(); int limit = param.getLimit(); Page page = new Page(start, limit); String columns = "WORK_RWBT,TCR_NAME,WORK_JJCD_CODE,WORK_JJCD_NAME"; List<DynaBean> dynaBeanList = metaService.select("JE_PM_WORK", page, conditionsWrapper, columns);
selectOne(String tableCode, ConditionsWrapper wrapper) : DynaBean
查询一条数据,返回结果大于一条,抛出异常
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
ConditionsWrapper | 条件解析器 |
返回数据说明:DynaBean
返回查询到的数据对象
示例
DynaBean xmjlUserDynaBean = metaService.selectOne("JE_CORE_ENDUSER", ConditionsWrapper.builder().eq("USERID",XMLXGL_XMJL_ID));
selectOne(String tableCode, ConditionsWrapper wrapper, String columns) : DynaBean
查询一条数据并且指定要查询的数据列,返回结果大于一条,抛出异常
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 表名 |
ConditionsWrapper | 条件解析器 | |
columns | String | 指定列 |
返回数据说明:DynaBean
返回查询到的数据对象
示例
DynaBean sbxxFunc = metaService.selectOne("JE_CORE_FUNCINFO", ConditionsWrapper.builder().eq("FUNCINFO_FUNCCODE", sbxxCode), "JE_CORE_FUNCINFO_ID");
load(String funcCode, Page page, String sql, Object… params) : List<Map<String, Object>>
查询功能数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
funcCode | String | 功能编码 |
Page | 分页对象 | |
sql | String | 查询语句 |
params | Object | sql参数数组 |
返回数据说明:List
返回查询到的数据集合
示例
load(String funcCode, Page page, String sql, Object… params) : List<Map<String, Object>>
查询功能数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
funcCode | String | 功能编码 |
Page | 分页对象 | |
sql | String | 查询语句 |
params | Object | sql参数数组 |
返回数据说明:List
返回查询到的数据集合
示例
Page page = new Page<>(param.getPage(), param.getLimit());
String funcId = param.getFuncId();
String funcCode = param.getFuncCode();
//构建查询条件
ConditionsWrapper wrapper = buildWrapper(param);
List<Map<String, Object>> list;
list = metaService.selectSql(page, wrapper);
page.setRecords(list);
list = metaService.load(funcCode, page, wrapper);
selectOneByPk(String tableCode, String pkValue) : DynaBean
根据主键查询数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 功能编码 |
pkValue | String | 主键 |
返回数据说明:return DynaBean
返回查询到的数据对象
示例
DynaBean oldDic = metaService.selectOneByPk("JE_CORE_DICTIONARY", dynaBean.getStr("JE_CORE_DICTIONARY_ID"));
selectOneByPk(String tableCode, String pkValue, String columns) : DynaBean
根据主键查询指定列数据
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
tableCode | String | 功能编码 |
pkValue | String | 主键 |
columns | String | 要查询的列 |
返回数据说明:return DynaBean
返回查询到的数据对象
示例
// 主键ID
String id = request.getParameter("versionId");
DynaBean dynaBean = metaService.selectOneByPk("JEPAAS_PTGL_VERSION", id, "VERSION_FRONTEND,VERSION_BACKEND,VERSION_FUNCINFO,VERSION_PTBB_CODE");
executeSql(String sql, Object… params) : int
查询执行sql数量
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
sql | String | 自定义sql |
params | Object | sql参数数组 |
返回数据说明:return int 影响记录数
返回执行sql影响数量
示例
int x = metaService.executeSql(" DELETE FROM JE_CORE_ROLE_USER WHERE ROLEID={0}", role.getStr("ROLEID"));
executeSql(ConditionsWrapper wrapper) : int
用条件拼接器查询
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
ConditionsWrapper | 条件拼接器 |
返回数据说明:return int 影响记录数
返回执行sql影响数量
示例
metaService.executeSql(ConditionsWrapper.builder(" UPDATE JE_PHONE_UPGRADE SET UPGRADE_QZGX = 0 WHERE JE_PHONE_UPGRADE_ID = {0} ",pk).table("JE_PHONE_UPGRADE"));
countBySql(String sql, Object… params) : long
执行总数查询sql
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
sql | String | 自定义sql |
params | Object | sql参数数组 |
返回数据说明:return long count值
返回总数
示例
long x = metaService.countBySql("select count(*) from V_JEPAAS_VIP_KHGL where CRM_YXGL_CUSTOMER_ID ={0} and KHGL_GMVIPFW = '1'", customerId);
countBySql(ConditionsWrapper wrapper) : long
执行总数查询sql
- 参数说明
属性名 | 类型 | 说明 |
---|---|---|
ConditionsWrapper | 条件拼接器 |
返回数据说明:return long count值
返回总数
示例
long x = metaService.countBySql(ConditionsWrapper.builder().table("JE_CORE_TABLECOLUMN") .apply("TABLECOLUMN_RESOURCETABLE_ID={0} AND TABLECOLUMN_CODE='SY_FUNCEDIT'", table.getStr("JE_CORE_RESOURCETABLE_ID")));