中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

mybatisplus如何實(shí)現(xiàn)在Springboot上使用

mybatis plus如何實(shí)現(xiàn)在Spring boot上使用?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),蓬溪企業(yè)網(wǎng)站建設(shè),蓬溪品牌網(wǎng)站建設(shè),網(wǎng)站定制,蓬溪網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,蓬溪網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

maven依賴

    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus</artifactId>
      <version>2.0-beta</version>
    </dependency>

config文件

@Configuration
public class MybatisPlusConfig {
  @Autowired
  private DataSource dataSource;

  @Autowired
  private MybatisProperties properties;

  @Autowired
  private ResourceLoader resourceLoader = new DefaultResourceLoader();

  @Autowired(required = false)
  private Interceptor[] interceptors;

  @Autowired(required = false)
  private DatabaseIdProvider databaseIdProvider;

  /**
   *  mybatis-plus分頁插件
   */
  @Bean
  public PaginationInterceptor paginationInterceptor() {
    PaginationInterceptor page = new PaginationInterceptor();
    page.setDialectType("MySQL");
    return page;
  }
  /**
   * 這里全部使用mybatis-autoconfigure 已經(jīng)自動(dòng)加載的資源。不手動(dòng)指定
   * 配置文件和mybatis-boot的配置文件同步
   * @return
   */
  @Bean
  public MybatisSqlSessionFactoryBean mybatisSqlSessionFactoryBean() {
    MybatisSqlSessionFactoryBean mybatisPlus = new MybatisSqlSessionFactoryBean();
    mybatisPlus.setDataSource(dataSource);
    mybatisPlus.setVfs(SpringBootVFS.class);
    if (StringUtils.hasText(this.properties.getConfigLocation())) {
      mybatisPlus.setConfigLocation(this.resourceLoader.getResource(this.properties.getConfigLocation()));
    }
    mybatisPlus.setConfiguration(properties.getConfiguration());
    if (!ObjectUtils.isEmpty(this.interceptors)) {
      mybatisPlus.setPlugins(this.interceptors);
    }
    MybatisConfiguration mc = new MybatisConfiguration();
    mc.setDefaultScriptingLanguage(MybatisXMLLanguageDriver.class);
    mybatisPlus.setConfiguration(mc);
    if (this.databaseIdProvider != null) {
      mybatisPlus.setDatabaseIdProvider(this.databaseIdProvider);
    }
    if (StringUtils.hasLength(this.properties.getTypeAliasesPackage())) {
      mybatisPlus.setTypeAliasesPackage(this.properties.getTypeAliasesPackage());
    }
    if (StringUtils.hasLength(this.properties.getTypeHandlersPackage())) {
      mybatisPlus.setTypeHandlersPackage(this.properties.getTypeHandlersPackage());
    }
    if (!ObjectUtils.isEmpty(this.properties.resolveMapperLocations())) {
      mybatisPlus.setMapperLocations(this.properties.resolveMapperLocations());
    }
    return mybatisPlus;
  }
}

插件以@bean的形式添加在config文件里例如:

@Bean
  public PaginationInterceptor paginationInterceptor() {
    PaginationInterceptor page = new PaginationInterceptor();
    page.setDialectType("mysql");
    return page;
  }

這是一個(gè)分頁插件。

代碼生成器參考官方文檔,但是他的代碼生成器可供修改的地方不多,只能控制一下代碼生成路徑之類的,自由度不高,推薦把mybatisplus 代碼生成部分單獨(dú)抽出來,修改成自己合適的,再打成jar包進(jìn)行依賴。

springboot properties文件配置

# mybatis_config
mybatis.mapper-locations=classpath:com/boot/mapper/xml/*Mapper.xml 
mybatis.typeAliasesPackage=com.boot.entity

前一個(gè)是xml文件的路徑

后面一個(gè)時(shí)別名包路徑

在springboot的啟動(dòng)類上加上注解

@MapperScan("com.boot.mapper*")
@SpringBootApplication
public class BootApplication {

@mapperscan 里面是dao的掃描路徑

mybatisplus 提供了比較齊全的crud即增刪改查,不需要在mapper.xml里寫sql可以直接調(diào)用
例子:

//可以在controller:
Egg egg = new Egg();
eggService.insert(egg);
//可以在service
Egg egg = new Egg();
this.selectList(new EntityWrapper<Egg >(egg));//mybatisplus提供依靠實(shí)體查詢的方法的寫法
//也可以
mapper.selectList(new EntityWrapper<Egg >(egg));

分頁查詢demo:

dao:返回list

復(fù)制代碼 代碼如下:

List<Role> getPage(Pagination page, RoleParam param) throws DataAccessException;

xml:照著普通sql寫就可以了,其他的會(huì)自動(dòng)拼接

<select id="getPage" resultMap="RoleResultMap">
  select 
  <include refid="columns"/> 
  from ella_role 
  <include refid="where"/>
 </select>

service:

public Page<EllaRole> getPage(RoleParam param) {
//new 一個(gè)page 初始化傳入current當(dāng)前頁,size每頁幾個(gè),order 排序(默認(rèn)asc要改的話page.setAsc(false);)
    Page<Role> page = new Page<Role>(param.getCurrent(), param.getSize(), param.getOrder());
    page.setRecords(iRoleMapper.getPage(page, param));
    return page;
  }

end

接下來是一些小貼士

生成的實(shí)體里主鍵要加上@TableId注解不然會(huì)報(bào)錯(cuò)

數(shù)據(jù)庫里有下劃線的字段在查詢返回是會(huì)取不到值,需要在config文件中的mybatisSqlSessionFactoryBean方法下加上

mybatisPlus.setDbColumnUnderline(true); 

domain里的所有屬性都會(huì)映射到數(shù)據(jù)庫的字段上,如果你加上數(shù)據(jù)庫里沒有但要用的屬性需要在上面加上@TableField(exist = false)標(biāo)簽,這樣他會(huì)被忽略

關(guān)于mybatis plus如何實(shí)現(xiàn)在Spring boot上使用問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

當(dāng)前名稱:mybatisplus如何實(shí)現(xiàn)在Springboot上使用
鏈接地址:http://www.rwnh.cn/article24/jeedce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)、云服務(wù)器、、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
甘南县| 克什克腾旗| 石门县| 巫山县| 醴陵市| 耒阳市| 泗水县| 庆云县| 普宁市| 顺义区| 呼和浩特市| 天津市| 当涂县| 砚山县| 郓城县| 泽库县| 仁寿县| 五家渠市| 庆阳市| 丁青县| 阳东县| 金川县| 闻喜县| 康马县| 泽州县| 乾安县| 吉安市| 阿巴嘎旗| 车致| 靖西县| 福州市| 万宁市| 望江县| 泸定县| 陆良县| 镇宁| 屏南县| 梨树县| 昌都县| 克什克腾旗| 东乡族自治县|