成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

springboot mybaits-plus Sql 注入器 自定義邏輯刪除

bitkylin / 2198人閱讀

摘要:寫一個(gè)類繼續(xù)寫一個(gè)類繼承邏輯刪除寫一個(gè)枚舉類根據(jù)參數(shù)邏輯刪除根據(jù)修改數(shù)據(jù)根據(jù)邏輯刪除根據(jù)修改數(shù)據(jù)最后一步就是注入到執(zhí)行效率插件設(shè)置環(huán)境開啟

1 寫一個(gè)類繼續(xù) AbstractLogicMethod

public class LogicDeleteByWrapper extends AbstractLogicMethod {

@Override
public MappedStatement injectMappedStatement(Class mapperClass, Class modelClass, TableInfo tableInfo) {
    String sql;
    MySqlMethod sqlMethod = MySqlMethod.LOGIC_DELETE_BY_WRAPPER;
    sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), sqlLogicSet(),
            sqlWhereEntityWrapper(tableInfo));
    SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass);
    return addUpdateMappedStatement(mapperClass, modelClass, sqlMethod.getMethod(), sqlSource);
}

public String sqlLogicSet(){

    String sql ="
" +
            "update_by=#{et.updateBy},
" +
            "update_time=#{et.updateTime},
" +
            "is_deleted = 1
" +
            " ";
    return sql;
}

}
寫一個(gè)類繼承baseMapper

/**
 * 邏輯刪除
 * @param entity
 * @param updateWrapper
 * @return
 */
int logicDeleteByWrapper(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper updateWrapper);

寫一個(gè)枚舉類

public enum MySqlMethod {

/**
 * 根據(jù)參數(shù)邏輯刪除
 */
LOGIC_DELETE_BY_WRAPPER("logicDeleteByWrapper", "根據(jù)ID 修改數(shù)據(jù)", ""),

/**
 * 根據(jù)id邏輯刪除
 */
LOGIC_DELETE_BY_ID("logicDeleteById", "根據(jù)ID 修改數(shù)據(jù)", "");

private final String method;
private final String desc;
private final String sql;

MySqlMethod(String method, String desc, String sql) {
    this.method = method;
    this.desc = desc;
    this.sql = sql;
}

public String getMethod() {
    return method;
}

public String getDesc() {
    return desc;
}

public String getSql() {
    return sql;
}

}

最后一步就是注入到bean

public class MyLogicSqlInjector extends AbstractSqlInjector {

@Override
public List getMethodList() {
    return Stream.of(         
            new LogicDeleteByWrapper()
    ).collect(Collectors.toList());
}


@Override
public void injectSqlRunner(Configuration configuration) {
    new SqlRunnerInjector().inject(configuration);
}

}
@Configuration
@MapperScan("com.xxx.xxx.*.dao")
public class MybatisPlusConfig {

@Bean
public PaginationInterceptor paginationInterceptor() {
    return new PaginationInterceptor();
}


@Bean
public ISqlInjector sqlInjector() {
    return new MyLogicSqlInjector();
}

/**
 * SQL執(zhí)行效率插件
 */
@Bean
@Profile({"dev","test"})// 設(shè)置 dev test 環(huán)境開啟
public PerformanceInterceptor performanceInterceptor() {
    return new PerformanceInterceptor();
}

}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72668.html

相關(guān)文章

  • mybatis-plus源碼分析之sql注入

    摘要:下面我會(huì)詳細(xì)地從源碼的角度分析下文簡(jiǎn)寫成是如何實(shí)現(xiàn)自動(dòng)注入的原理。文件解析器,解析對(duì)應(yīng)的文件信息,并將文件信息注冊(cè)到中。節(jié)點(diǎn)解析器,用于構(gòu)建節(jié)點(diǎn)信息。注冊(cè)與綁定類,將的類信息與綁定。 微信公眾號(hào)「后端進(jìn)階」,專注后端技術(shù)分享:Java、Golang、WEB框架、分布式中間件、服務(wù)治理等等。 老司機(jī)傾囊相授,帶你一路進(jìn)階,來不及解釋了快上車! mybatis-plus是完全基于myba...

    gougoujiang 評(píng)論0 收藏0
  • 第三十五章:SpringBoot與單元測(cè)試的小秘密

    摘要:本章目的基于平臺(tái)整合分別完成客戶端服務(wù)端的單元測(cè)試。在測(cè)試控制器內(nèi)添加了三個(gè)測(cè)試方法,我們接下來開始編寫單元測(cè)試代碼??偨Y(jié)本章主要介紹了基于平臺(tái)的兩種單元測(cè)試方式,一種是在服務(wù)端采用注入方式將需要測(cè)試的或者注入到測(cè)試類中,然后調(diào)用方法即可。 單元測(cè)試對(duì)于開發(fā)人員來說是非常熟悉的,我們每天的工作也都是圍繞著開發(fā)與測(cè)試進(jìn)行的,在最早的時(shí)候測(cè)試都是采用工具Debug模式進(jìn)行調(diào)試程序,后來Ju...

    hikui 評(píng)論0 收藏0
  • Springboot整合Quartz實(shí)現(xiàn)動(dòng)態(tài)定時(shí)任務(wù)

    摘要:本文使用實(shí)現(xiàn)對(duì)定時(shí)任務(wù)的增刪改查啟用停用等功能。并把定時(shí)任務(wù)持久化到數(shù)據(jù)庫以及支持集群。決定什么時(shí)候來執(zhí)行任務(wù)。定義的是任務(wù)數(shù)據(jù),而真正的執(zhí)行邏輯是在中。封裝定時(shí)任務(wù)接口添加一個(gè)暫?;謴?fù)刪除修改暫停所有恢復(fù)所有 簡(jiǎn)介 Quartz是一款功能強(qiáng)大的任務(wù)調(diào)度器,可以實(shí)現(xiàn)較為復(fù)雜的調(diào)度功能,如每月一號(hào)執(zhí)行、每天凌晨執(zhí)行、每周五執(zhí)行等等,還支持分布式調(diào)度。本文使用Springboot+Myba...

    IamDLY 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<