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

Mybatis-Plus 全局配置無效的解決方案

 更新時間:2022年01月12日 15:32:57   作者:Fan YC  
這篇文章主要介紹了Mybatis-Plus 全局配置無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

全局配置無效

依賴

? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.baomidou</groupId>
? ? ? ? ? ? <artifactId>mybatis-plus-boot-starter</artifactId>
? ? ? ? ? ? <version>3.1.0</version>
? ? ? ? </dependency>

配置文件修改

mybatis-plus:
? mapper-locations: classpath:mapper/*.xml
? #實體掃描,多個package用逗號或者分號分隔
? typeAliasesPackage: com.hz.waste.entity.model
? global-config:
? ? ?#id-type: 3 ? ?#這種配置是不生效的
? ? ?#field-strategy: 2 #這種配置是不生效的
? ? db-config:
? ? ? #主鍵類型 AUTO:"數(shù)據(jù)庫ID自增" INPUT:"用戶輸入ID",ID_WORKER:"全局唯一ID (數(shù)字類型唯一ID)", UUID:"全局唯一ID UUID";
? ? ? id-type: ID_WORKER ?#改為這種可以
? ? ? #字段策略 IGNORED:"忽略判斷" ?NOT_NULL:"非 NULL 判斷") ?NOT_EMPTY:"非空判斷"
? ? ? field-strategy: NOT_EMPTY #改為這種可以
? configuration:
? ? map-underscore-to-camel-case: true
? ? cache-enabled: false
? ? #配置JdbcTypeForNull
? ? jdbc-type-for-null: 'null'
? ? call-setters-on-nulls: true
? ? #打印語句
? ? log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

Mybatis-plus簡單配置及應(yīng)用

mybatis-plus是由中國大神寫的mybatis增強版,可以自動生成代碼。

配置過程比較簡單。首先引入兩個maven依賴

? ? <dependency>
? ? ? ? ? ? <groupId>com.baomidou</groupId>
? ? ? ? ? ? <artifactId>mybatis-plus</artifactId>
? ? ? ? ? ? <version>2.0.6</version>
? ? ? ? </dependency>
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.apache.velocity</groupId>
? ? ? ? ? ? <artifactId>velocity</artifactId>
? ? ? ? ? ? <version>1.7</version>
? ? ? ? </dependency>

一個是mybatis-plus,另一個是它自動成成代碼所依賴的模板引擎velocity。

然后將mybatis的sqlSeassionFactoryBean替換成plus增強版的,插件可以選擇性配置

? ? <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
? ? ? ? <property name="dataSource" ref="dataSource" />
? ? ? ? <property value="classpath:/mybatis-config.xml" name="configLocation" />
? ? ? ? <!-- 自動掃描mapping.xml文件 -->
? ? ? ? <property name="mapperLocations" value="classpath:mapper/*.xml"></property>
? ? ? ? <!-- MP 全局配置注入 -->
? ? ? ? <property name="globalConfig" ref="globalConfig" />
? ? ? ? <!-- 插件配置 -->
? ? ? ? <property name="plugins">
? ? ? ? ? ? <array>
? ? ? ? ? ? ? ? <bean class="com.baomidou.mybatisplus.plugins.OptimisticLockerInterceptor" />
? ? ? ? ? ? </array>
? ? ? ? </property>
? ? </bean>

mybatis-plus全局配置,主要是配置id生成策略,依賴數(shù)據(jù)庫類型,

<bean id="globalConfig" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
? ? ? ? <!-- 主鍵策略配置 -->
? ? ? ? <!-- 可選參數(shù) AUTO->`0`("數(shù)據(jù)庫ID自增") INPUT->`1`(用戶輸入ID") ID_WORKER->`2`("全局唯一ID")?
? ? ? ? ? ? UUID->`3`("全局唯一ID") -->
? ? ? ? <property name="idType" value="2" />
? ? ? ? <!-- 數(shù)據(jù)庫類型配置 -->
? ? ? ? <property name="dbType" value="mysql" />
? ? ? ? <!-- 全局表為下劃線命名設(shè)置 true -->
? ? ? ? <property name="dbColumnUnderline" value="true" />
? ? </bean>

生成代碼

public class MpGenerator {
? ? /**
? ? ?* <p>
? ? ?* MySQL 生成演示
? ? ?* </p>
? ? ?*/
? ? public static void main(String[] args) {
? ? ? ? AutoGenerator mpg = new AutoGenerator();
? ? ? ? // 全局配置\\Begin\\src\\main\\java
? ? ? ? GlobalConfig gc = new GlobalConfig();
? ? ? ? gc.setOutputDir("G:\\workspace");
? ? ? ? gc.setFileOverride(true);
? ? ? ? gc.setActiveRecord(true);
? ? ? ? gc.setEnableCache(false);// XML 二級緩存
? ? ? ? gc.setBaseResultMap(true);// XML ResultMap
? ? ? ? gc.setBaseColumnList(true);// XML columList
? ? ? ? gc.setOpen(false);
? ? ? ? gc.setAuthor("XuWei");
? ? ? ? // 自定義文件命名,注意 %s 會自動填充表實體屬性!
? ? ? ? gc.setMapperName("%sDao");
? ? ? ? gc.setXmlName("%sMapper");
? ? ? ? gc.setServiceName("%sService");
? ? ? ? gc.setServiceImplName("%sServiceImpl");
? ? ? ? gc.setControllerName("%sController");
? ? ? ? mpg.setGlobalConfig(gc);
? ? ? ? // 數(shù)據(jù)源配置
? ? ? ? DataSourceConfig dsc = new DataSourceConfig();
? ? ? ? dsc.setDbType(DbType.MYSQL);
? ? ? ? dsc.setDriverName("com.mysql.jdbc.Driver");
? ? ? ? dsc.setUrl("jdbc:mysql://localhost:3306/begin?useUnicode=true&amp;characterEncoding=UTF-8&amp;generateSimpleParameterMetadata=true");
? ? ? ? dsc.setUsername("root");
? ? ? ? dsc.setPassword("123");
? ? ? ? mpg.setDataSource(dsc);
? ? ? ? // 策略配置
? ? ? ? StrategyConfig strategy = new StrategyConfig();
? ? ? ? // strategy.setCapitalMode(true);// 全局大寫命名 ORACLE 注意
? ? ? ? strategy.setTablePrefix(new String[] { "t_", "tsys_" });// 此處可以修改為您的表前綴
? ? ? ? strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
? ? ? ? strategy.setInclude(new String[] { "dept" }); // 需要生成的表
? ? ? ? // strategy.setExclude(new String[]{"test"}); // 排除生成的表
? ? ? ? mpg.setStrategy(strategy);
? ? ? ? //默認(rèn)是service、serviceImpl、controller都生成。在這里關(guān)閉他們
? ? ? ? TemplateConfig tc = new TemplateConfig();
? ? ? ? tc.setController(null);
? ? ? ? mpg.setTemplate(tc);
? ? ? ? // 生成文件路徑
// ? ? ?PackageConfig pc = new PackageConfig();
// ? ? ?pc.setParent("com.xu");
// ? ? ?pc.setEntity("entity.plus");
// ? ? ?pc.setMapper("dao.plus");
// ? ? ?pc.setXml("mapper.plus");
// ? ? ?pc.setService("service.plus");
// ? ? ?pc.setServiceImpl("service.plus.impl");
// ? ? ?mpg.setPackageInfo(pc);
? ? ? ? // 執(zhí)行生成
? ? ? ? mpg.execute();
? ? }

這樣代碼生成到G:\workspace目錄下面

和mybayis generator相比plus生成的代碼映射文件xml,和dao層更加干凈,通用的CRUD都通過dao類繼承的BaseMapper來實現(xiàn)。

但是缺點也很明顯,條件構(gòu)造器不能像generator那樣直接將表中的字段名稱和pojo映射,所以需要自己寫查詢條件對應(yīng)的字段名稱。

如果要拼接這樣一個查詢條件( user_name = ? and password = ? ) or( id = ? and state = ? )

mybatis-plus條件構(gòu)造

? ? ? ? EntityWrapper<User> ew = new EntityWrapper<>();
? ? ? ? ew.eq("user_name", "向問天").eq("password", "sde");
? ? ? ? ew.orNew("id", 3).eq("state", 2);

mybatis generator條件構(gòu)造

? ? ? ? UserExample userExample = new UserExample();
? ? ? ? userExample.createCriteria()
? ? ? ? .andUserNameEqualTo("向問天")
? ? ? ? .andPasswordEqualTo("sde");
? ? ? ? userExample.or()
? ? ? ? .andIdEqualTo(3)
? ? ? ? .andStateEqualTo(2);
? ? ? ? userExample.isDistinct();

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

相關(guān)文章

  • Java按照添加順序的集合幾種方法詳解

    Java按照添加順序的集合幾種方法詳解

    這篇文章主要介紹了Java按照添加順序的集合幾種方法的相關(guān)資料,文中介紹了Java中五種常用的數(shù)據(jù)結(jié)構(gòu)(ArrayList、LinkedList、LinkedHashSet、LinkedHashMap、Stream)及其特點,適合不同的應(yīng)用場景,需要的朋友可以參考下
    2024-12-12
  • SpringBoot 嵌入式web容器的啟動原理詳解

    SpringBoot 嵌入式web容器的啟動原理詳解

    這篇文章主要介紹了SpringBoot 嵌入式web容器的啟動原理詳解,具有很好的參考價值,希望對大家有所幫助。
    2021-11-11
  • Spring中的@ConditionalOnProperty注解詳解

    Spring中的@ConditionalOnProperty注解詳解

    這篇文章主要介紹了Spring中的@ConditionalOnProperty注解詳解,常見的@Conditionalxxx開頭的注解我們稱之為條件注解,常見的條件注解有,簡單來講,一般是在配置類上或者是@Bean修飾的方法上,添加此注解表示一個類是否要被Spring上下文加載,需要的朋友可以參考下
    2024-01-01
  • SpringBoot整合SpringSecurity實現(xiàn)JWT認(rèn)證的項目實踐

    SpringBoot整合SpringSecurity實現(xiàn)JWT認(rèn)證的項目實踐

    本文會通過創(chuàng)建SpringBoot項目整合SpringSecurity,實現(xiàn)完整的JWT認(rèn)證機制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 簡單說說Java SE、Java EE、Java ME三者之間的區(qū)別

    簡單說說Java SE、Java EE、Java ME三者之間的區(qū)別

    本篇文章小編就為大家簡單說說Java SE、Java EE、Java ME三者之間的區(qū)別。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-10-10
  • 在Java中Collection的一些常用方法總結(jié)

    在Java中Collection的一些常用方法總結(jié)

    今天給大家?guī)淼闹R是關(guān)于Java的,文章圍繞著Java中Collection的一些常用方法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java集合Stream流操作的基本使用教程分享

    Java集合Stream流操作的基本使用教程分享

    流操作并不會影響原來的集合,可以簡單認(rèn)為,流操作是把集合中的一個元素逐個復(fù)制放到一個首尾相接的流動的水槽中。這篇文章整理了Stream流操作的基本使用,需要的可以參考一下
    2023-02-02
  • 接口重試的7種常用方案詳細(xì)介紹

    接口重試的7種常用方案詳細(xì)介紹

    這篇文章主要為大家詳細(xì)介紹了接口重試的7種常用方案,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以根據(jù)需求選擇
    2025-03-03
  • idea?2024使用Maven創(chuàng)建Java?Web項目詳細(xì)圖文教程

    idea?2024使用Maven創(chuàng)建Java?Web項目詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于idea?2024使用Maven創(chuàng)建Java?Web項目的相關(guān)資料,介紹了如何使用Maven創(chuàng)建一個Spring?MVC項目,并配置Tomcat服務(wù)器以運行一個簡單的Helloworld?JSP頁面,需要的朋友可以參考下
    2024-12-12
  • 淺談spring中用到的設(shè)計模式及應(yīng)用場景

    淺談spring中用到的設(shè)計模式及應(yīng)用場景

    下面小編就為大家?guī)硪黄獪\談spring中用到的設(shè)計模式及應(yīng)用場景。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論

高邑县| 察隅县| 吉首市| 淮南市| 丹江口市| 陵川县| 翁源县| 武定县| 银川市| 新巴尔虎右旗| 潞西市| 武川县| 伊金霍洛旗| 白山市| 辽阳市| 金平| 乌拉特后旗| 建宁县| 久治县| 海淀区| 龙胜| 永和县| 长子县| 沐川县| 通化市| 昭觉县| 锡林郭勒盟| 大城县| 清徐县| 九江市| 卓资县| 泸定县| 东阿县| 师宗县| 河北省| 平原县| 赤水市| 石渠县| 隆尧县| 上虞市| 昌都县|