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

資訊專欄INFORMATION COLUMN

SpringBoot集成Mybatis 自動(dòng)生成實(shí)體類和Mapper

codercao / 619人閱讀

摘要:優(yōu)化當(dāng)我們?cè)跀?shù)據(jù)庫(kù)中增加字段時(shí),需要在對(duì)應(yīng)的實(shí)體類中增加字段,中也需要去增加字段,去維護(hù),會(huì)消耗大量的時(shí)間我們可以讓接口去繼承,刪除接口中的所有方法,因?yàn)橹卸家呀?jīng)實(shí)現(xiàn)了。遇到這里問(wèn)題不會(huì)報(bào)錯(cuò),只要注意打印出來(lái)的語(yǔ)句即可。

SpringBoot集成Mybatis 自動(dòng)生成實(shí)體類和Mapper 1.使用IDEA創(chuàng)建一個(gè)空的SpringBoot項(xiàng)目 2.在pom.xml中引入以下配置
    
        UTF-8
        UTF-8
        1.8
        
        
        ${basedir}/src/main/java
        
        com.jiafly.falsework.dao
        
        com.jiafly.falsework.entity
        
        ${basedir}/src/main/resources
        mapper
    

        
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            RELEASE
        
        
        
            mysql
            mysql-connector-java
            5.1.39
            runtime
        
        
        
            tk.mybatis
            mapper-spring-boot-starter
            1.2.3
        

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.2
                
                    ${basedir}/src/main/resources/generatorConfig.xml
                    false
                    true
                
                
                    
                        mysql
                        mysql-connector-java
                        5.1.39
                    
                
            
        
    
3. 在application.yml中配置
spring:
  # 數(shù)據(jù)庫(kù)相關(guān)配置
  datasource:
    url: jdbc:mysql://localhost:3306/jiafly?useUnicode=true&characterEncoding=UTF-8&useSSL=false&useTimezone=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
    initialSize: 1
    minIdle: 1
    maxActive: 5
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 180000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false

# mybaties 配置
mybatis:
  mapperLocations: classpath:mapper/*.xml
  typeAliasesPackage: com.jiafly.libra.entity
# 通用mapper 配置 自動(dòng)生成dao層代碼
mapper:
  plugin: tk.mybatis.mapper.generator.MapperPlugin
  Mapper: tk.mybatis.mapper.common.Mapper
  not-empty: false
  identity: MYSQL
4. 在src/main/resources文件夾下創(chuàng)建generatorConfig.xml文件




    

    
        
            
            
        
        
        
        
            
        
        
            
            
            
            
            
            
            
            
        

        
            
        

        
            
        
        
        
5. 執(zhí)行mybatis-generator-maven-plugin插件

執(zhí)行完畢后會(huì)在 com.jiafly.libra.entity中生成實(shí)體類,com.jiafly.libra.mapper中生成dao層接口 resources.mapper中生成xml文件。

6. 優(yōu)化

當(dāng)我們?cè)跀?shù)據(jù)庫(kù)中增加字段時(shí),需要在對(duì)應(yīng)的實(shí)體類中增加字段,xml中也需要去增加字段,去維護(hù),會(huì)消耗大量的時(shí)間

我們可以讓接口去繼承 Mapper ,刪除接口中的所有方法,因?yàn)镸apper中都已經(jīng)實(shí)現(xiàn)了。對(duì)于的xml中的sql也一并刪除,之后增加字段就不需要再去維護(hù)

優(yōu)化后的文件如下;

實(shí)體類

package com.jiafly.libra.entity;

import java.util.Date;

public class UserInfo {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String userId;

    private String mobile;

    private String email;

    private String openId;

    private String unionId;

    private String userName;

    private String nickName;

    private Byte gender;

    private Integer age;

    private String city;

    private String province;

    private String country;

    private String password;

    private Byte vip;

    private Byte delFlag;

    private Date createTime;

    private Date updateTime;

}

接口

package com.jiafly.libra.mapper;

import com.jiafly.libra.entity.UserInfo;
import tk.mybatis.mapper.common.Mapper;

public interface UserInfoMapper extends Mapper {

}

xml






7.繼承Mapper遇到的坑

需要在實(shí)體的主鍵上增加@Id注解,否則通用mapper無(wú)法識(shí)別主鍵,在是使用mapper的方法做更新查找等操作的時(shí)候會(huì)帶上所有的條件,造成找不到數(shù)據(jù)。

遇到這里問(wèn)題不會(huì)報(bào)錯(cuò),只要注意打印出來(lái)的sql語(yǔ)句即可。

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

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

相關(guān)文章

  • 一起來(lái)學(xué)SpringBoot | 第八篇:通用Mapper與分頁(yè)插件的集成

    摘要:通用是為了解決使用中的基本操作,使用它可以很方便的進(jìn)行開(kāi)發(fā),可以節(jié)省開(kāi)發(fā)人員大量的時(shí)間。當(dāng)該參數(shù)設(shè)置為時(shí),時(shí)會(huì)查詢第一頁(yè),超過(guò)總數(shù)時(shí),會(huì)查詢最后一頁(yè)。 SpringBoot 是為了簡(jiǎn)化 Spring 應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署等一系列問(wèn)題而誕生的產(chǎn)物,自動(dòng)裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關(guān)的依賴就可以輕易的搭建出一個(gè) WEB 工...

    韓冰 評(píng)論0 收藏0
  • springboot+mybatis+mybatis-plus分頁(yè)查詢(簡(jiǎn)單實(shí)現(xiàn))

    摘要:讀取控制臺(tái)內(nèi)容請(qǐng)輸入請(qǐng)輸入正確的代碼生成器全局配置實(shí)體屬性注解數(shù)據(jù)源配置包配置這里有個(gè)模塊名的配置,可以注釋掉不用。 最近在研究mybatis,然后就去找簡(jiǎn)化mybatis開(kāi)發(fā)的工具,發(fā)現(xiàn)就有通用Mapper和mybatis-plus兩個(gè)比較好的可是使用,可是經(jīng)過(guò)對(duì)比發(fā)現(xiàn)還是mybatis-plus比較好,個(gè)人覺(jué)得,勿噴。。。 集成還是非常簡(jiǎn)單的,然后就在研究怎么分頁(yè),開(kāi)始研究通用ma...

    Pocher 評(píng)論0 收藏0
  • springboot(二)——springboot自動(dòng)配置解析

    摘要:前言用過(guò)的肯定很熟悉,它其中有個(gè)重要的特性,就是自動(dòng)配置平時(shí)習(xí)慣的一些設(shè)置的配置作為默認(rèn)配置。提倡無(wú)配置文件的理念,使用生成的應(yīng)用完全不會(huì)生成任何配置代碼與配置文件。 前言 用過(guò)springboot的肯定很熟悉,它其中有個(gè)重要的特性,就是自動(dòng)配置(平時(shí)習(xí)慣的一些設(shè)置的配置作為默認(rèn)配置)。springboot提倡無(wú)XML配置文件的理念,使用springboot生成的應(yīng)用完全不會(huì)生成任何配...

    張率功 評(píng)論0 收藏0
  • Springboot項(xiàng)目搭建(四)整合MySQL數(shù)據(jù)庫(kù)(MyBatis + 分頁(yè)配置)

    springboot整合MySQL數(shù)據(jù)庫(kù)(MyBatis + 分頁(yè)配置) 一、POM文件添加依賴 org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.1 com.github.pagehelper pagehelper 4.1.0 mysql mysql-connec...

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

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

0條評(píng)論

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