首页 云币网文章正文

Mybatis-急速开发实践【蓝眼观察者-20221104-IP104】

云币网 2022年11月05日 08:34 94 Connor

mybatis的优势是单表操作

劣势是关联查询

设计commNoPage接口【入参决定出参】,专门针对,单标查询,目的找到 业务ID 然后应用mybatis-plus 默认id查询 进行关联查询

集合操作【取代sql语句】

sql语句优点是快、急速反馈、业务与数据结果链路断、好排查问题

最大的缺点就是业务细节无法重用-->逻辑sql代码片段无法复用

public BaseResponse<List<Map<String, String>>> commonNoPage(@RequestBody MyBaseDTO dto) {

boolean isOrgPower = false;

boolean isCheck = false;

dto.setTab(ProjectJinduAdminController.StringFilter(dto.getTab()));

if (dto.getList() != null) {

for (Condition o : dto.getList()) {

o.setCol(ProjectJinduAdminController.StringFilter(o.getCol()));

o.setCol(o.getCol().replaceAll("0", "_"));

o.setVal(ProjectJinduAdminController.StringFilter(o.getVal()));

//操作符后续优化

if (!ProjectJinduAdminController.l.contains(o.getOpt())) {

return BaseResponse.failed("参数无效");

if (ProjectJinduAdminController.l.contains(o.getOpt()) && "ge".equals(o.getOpt())) {

o.setOpt(">=");

展开全文

if (ProjectJinduAdminController.l.contains(o.getOpt()) && "le".equals(o.getOpt())) {

o.setOpt("<=");

if ("execRange".equals(o.getCol()) && "BJJXJ".equals(o.getVal())) {

isOrgPower = true;

if (isOrgPower) {

Condition c = new Condition();

c.setCol("dwcode");

c.setDt("orgPower");

c.setOpt("exists");

c.setVal(this.getPkOrg());

dto.getList().add(c);

isOrgPower = false;

for (String i : ProjectJinduAdminController.tabs.split(",")) {

if (StringUtils.equals(i.replaceAll("_", ""), dto.getTab())) {

isCheck = true;

dto.setTab(i);

break;

if (!isCheck) {

return BaseResponse.failed("暂未授权");

List<Map<String, String>> vos = selectEntityInfoMapper.commonNoPage(dto);

return BaseResponse.data(vos);

标签: 观察者 急速 20221104 实践 Mybatis

发表评论

云币网-云币网交易所-全球领先的数字货币交易平台 备案号:川ICP备66666666号