最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis plus自動生成代碼tinyint(1)自動轉換為Boolean的問題及解決

 更新時間:2023年08月29日 09:18:39   作者:hank009  
這篇文章主要介紹了mybatis plus自動生成代碼tinyint(1)自動轉換為Boolean的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

mybatis plus自動生成代碼tinyint(1)自動轉換為Boolean

說明下為什么會自動轉換為Boolean,是因為mybtisplus提供的默認的mysql類型轉換器MySqlTypeConvert上特別寫了這一段:

對癥下藥的解決辦法是重寫一個

在注入到配置里:

/**
 * 自定義類型轉換
 */
class MySqlTypeConvertCustom extends MySqlTypeConvert implements ITypeConvert{
    @Override
    public IColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
        String t = fieldType.toLowerCase();
        if (t.contains("tinyint(1)")) {
            return DbColumnType.INTEGER;
        }
        return super.processTypeConvert(globalConfig, fieldType);
    }
}

代碼生成器完整代碼

package com.wjj.application;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.IColumnType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.Arrays;
/**
 * @author hank
 */
public class TestGen {
    public static void main(String[] args) {
        AutoGenerator mpg = new AutoGenerator();
        GlobalConfig gc = new GlobalConfig();
        gc.setOutputDir("D://");
        gc.setFileOverride(true);
        //不需要ActiveRecord特性的請改為false
        gc.setActiveRecord(true);
        // XML 二級緩存;
        gc.setEnableCache(false);
        // XML ResultMap
        gc.setBaseResultMap(true);
        // XML columnList
        gc.setBaseColumnList(true);
        gc.setAuthor("mybatisPlus");
        gc.setDateType(DateType.ONLY_DATE);
        gc.setMapperName("%sMapper");
        gc.setXmlName("%sMapper");
        gc.setServiceName("%sService");
        gc.setServiceImplName("%sServiceImpl");
        gc.setControllerName("%sController");
        mpg.setGlobalConfig(gc);
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setDbType(DbType.MYSQL);
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUrl("jdbc:mysql://xxxx/xxxxxx?tinyInt1isBit=false&useUnicode=true&characterEncoding=UTF-8&generateSimpleParameterMetadata=true");
        dsc.setUsername("xxxx");
        dsc.setPassword("xxxx");
        dsc.setTypeConvert(new MySqlTypeConvertCustom());
        mpg.setDataSource(dsc);
        StrategyConfig strategy = new StrategyConfig();
        strategy.setTablePrefix("saas_");
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setInclude("saas_medical_history", "saas_medical_history_describe", "saas_medical_history_attachment",
                "saas_medical_history_diagnose", "saas_medical_history_prescription", "saas_medical_history_prescription_subjoin",
                "saas_medical_history_prescription_chinese_list", "saas_medical_history_prescription_generic_list", "saas_medical_history_feature");
        // 指定邏輯刪除字段
        strategy.setLogicDeleteFieldName("is_deleted");
        mpg.setStrategy(strategy);
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.wjj.application");
        String packageModule = ".medicalhistory";
        pc.setController("controller"+packageModule);
        pc.setService("service"+packageModule);
        pc.setServiceImpl("service" + packageModule + ".impl");
        pc.setMapper("mapper" + packageModule);
        pc.setEntity("entity" + packageModule);
        mpg.setPackageInfo(pc);
        mpg.execute();
    }
}
/**
 * 自定義類型轉換
 */
class MySqlTypeConvertCustom extends MySqlTypeConvert implements ITypeConvert{
    @Override
    public IColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
        String t = fieldType.toLowerCase();
        if (t.contains("tinyint(1)")) {
            return DbColumnType.INTEGER;
        }
        return super.processTypeConvert(globalConfig, fieldType);
    }
}

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

伊金霍洛旗| 阜平县| 舒兰市| 呼和浩特市| 桦川县| 耒阳市| 体育| 鹰潭市| 金溪县| 集贤县| 滨州市| 商河县| 大石桥市| 惠水县| 柳林县| 都江堰市| 沁阳市| 化德县| 庆阳市| 措勤县| 华容县| 额尔古纳市| 巴楚县| 钦州市| 阳原县| 大田县| 长乐市| 巫溪县| 保亭| 建宁县| 东明县| 龙南县| 浦东新区| 平果县| 平利县| 万年县| 灵石县| 阿鲁科尔沁旗| 城步| 咸阳市| 海丰县|