内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

SpringBoot整合MyBatis-Plus入門體驗

一、前言

本文小編將基于 SpringBoot 整合 MyBatis-Plus , MyBatis-Plus是一個 MyBatis 的增強工具,在 MyBatis 的基礎上做增強并且不改變原本功能 ~
SpringBoot 整合 MyBatis-Plus 入門體驗

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于網站設計制作、網站設計、威寧網絡推廣、小程序定制開發(fā)、威寧網絡營銷、威寧企業(yè)策劃、威寧品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供威寧建站搭建服務,24小時服務熱線:028-86922220,官方網址:m.rwnh.cn

二、SpringBoot整合MyBatis-Plus

基本環(huán)境
  1. spring-boot 2.1.8
  2. mybatis-plus 2.2.0
  3. MySQL 5.7.24
  4. maven項目
1、pom.xml中引入MyBatis-Plus相關依賴

下面直接貼出小編的整個文件內容以作參考,避免因為部分細節(jié)缺失導致錯誤

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.zhengqing</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <mybatis-plus-boot-starter.version>2.2.0</mybatis-plus-boot-starter.version>
        <mysql.version>5.1.40</mysql.version>
        <commons-lang3.version>3.6</commons-lang3.version>
        <hutool-all.version>4.6.2</hutool-all.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- mybatis-plus begin =================================== -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus-boot-starter.version}</version>
        </dependency>
        <!-- mybatis-plus end -->

        <!-- ========================= 數據庫相關 ========================== -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
        <!-- 阿里數據庫連接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.18</version>
        </dependency>

        <!-- ========================= 常用庫依賴 ========================== -->
        <!-- lombok插件 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- Hutool工具類 -->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>${hutool-all.version}</version>
        </dependency>
        <!-- StringUtils工具類 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons-lang3.version}</version>
        </dependency>
    </dependencies>

    <build>
        <!-- 注:maven默認是不編譯,因此加上如下resources才會生產對應的xml文件 目的:解決mybatis映射關系不對應問題  start =============== -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </testResource>
        </testResources>
        <!-- 注:maven默認是不編譯,因此加上如下resources才會生產對應的xml文件 目的:解決mybatis映射關系不對應問題  end =============== -->

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
2、MyBatis-Plus配置類

這里主要配置分頁插件 和 @MapperScan注解掃描 Mapper 文件夾

@EnableTransactionManagement
@Configuration
@MapperScan("com.zhengqing.demo.modules.**.mapper*") // 掃描 Mapper 文件夾 【注:根據自己的項目結構配置】
public class MybatisPlusConfig {
    /**
     * mybatis-plus分頁插件<br>
     * 文檔:https://mp.baomidou.com/guide/page.html <br>
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}
3、application.yml中配置數據庫以及mybatis-plus相關配置

溫馨小提示:注意修改自己的數據庫連接配置信息哦~

# 配置端口
server:
  port: 8080
  servlet:
    #    context-path: /api
    application-display-name: demo

spring:
    application:
        name: demo
    profiles:
      active: dev
    # 配置數據源
    datasource:
      url: jdbc:mysql://127.0.0.1:3306/demo?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useSSL=false # MySQL在高版本需要指明是否進行SSL連接 解決則加上 &useSSL=false
      name: demo
      username: root
      password: root
      # 使用druid數據源
      type: com.alibaba.druid.pool.DruidDataSource
      driver-class-name: com.mysql.jdbc.Driver
      filters: stat
      maxActive: 20
      initialSize: 1
      maxWait: 60000
      minIdle: 1
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      validationQuery: select 'x'
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      maxOpenPreparedStatements: 20

management:
  security:
    enabled: false

# mybatis-plus相關配置
mybatis-plus:
  # xml掃描,多個目錄用逗號或者分號分隔(告訴 Mapper 所對應的 XML 文件位置)
  mapper-locations: classpath:**/*Mapper.xml
  # 以下配置均有默認值,可以不設置
  global-config:
    #主鍵類型  0:"數據庫ID自增", 1:"用戶輸入ID",2:"全局唯一ID (數字類型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 0
    #字段策略 0:"忽略判斷",1:"非 NULL 判斷"),2:"非空判斷"
    field-strategy: 2
    #駝峰下劃線轉換
    db-column-underline: true
    #刷新mapper 調試神器
    refresh-mapper: false
    #數據庫大寫下劃線轉換
    #capital-mode: true
    #序列接口實現類配置
    #key-generator: com.baomidou.springboot.xxx
    #邏輯刪除配置
    #logic-delete-value: 0 # 邏輯已刪除值(默認為 1)
    #logic-not-delete-value: 1 # 邏輯未刪除值(默認為 0)
    #自定義填充策略接口實現
#    meta-object-handler: com.zhengqing.config.MyMetaObjectHandler
    #自定義SQL注入器
    #sql-injector: com.baomidou.springboot.xxx
  configuration:
    # 是否開啟自動駝峰命名規(guī)則映射:從數據庫列名到Java屬性駝峰命名的類似映射
    map-underscore-to-camel-case: true
    cache-enabled: false
    # 如果查詢結果中包含空值的列,則 MyBatis 在映射的時候,不會映射這個字段
#    call-setters-on-nulls: true
    # 這個配置會將執(zhí)行的sql打印出來,在開發(fā)或測試的時候可以用
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 解決oracle更新數據為null時無法轉換報錯,mysql不會出現此情況
    jdbc-type-for-null: 'null'

三、模擬業(yè)務代碼 - 對用戶信息表做CRUD

1、數據庫新建t_sys_user用戶表

SpringBoot 整合 MyBatis-Plus 入門體驗

2、編寫實體類

溫馨小提示: 實體類繼承MyBatis-Plus的 Model 類 + Mapper類繼承MyBatis-Plus的BaseMapper類 -> 可支持 ActiveRecord 動態(tài)語法調用

@Data
@TableName("t_sys_user")
public class User extends Model<User> {

    private static final long serialVersionUID = 1L;

    /**
     * 主鍵ID
     */
    @TableId(value="id", type= IdType.AUTO)
    private Integer id;
    /**
     * 賬號
     */
    @TableField("username")
    private String username;
    /**
     * 登錄密碼
     */
    @TableField("password")
    private String password;
    /**
     * 昵稱
     */
    @TableField("nick_name")
    private String nickName;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
3、編寫Mapper類
public interface UserMapper extends BaseMapper<User> { }

四、測試CRUD

溫馨小提示:以下CRUD均采用 ActiveRecord 動態(tài)語法

@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTests {
    /**
     * 新增數據
     */
    @Test
    public void testAdd() throws Exception{
        User entity = new User();
        entity.setUsername("admin");
        entity.setPassword("123456");
        entity.setNickName("管理員");
        entity.insert();
    }

    /**
     * 更新數據
     */
    @Test
    public void testUpdate() throws Exception{
        User entity = new User();
        entity.setId(1);
        entity.setUsername("test");
        entity.setPassword("123456");
        entity.setNickName("測試號");
        entity.updateById();
    }

    /**
     * 刪除數據
     */
    @Test
    public void testDelete() throws Exception{
        User entity = new User();
        entity.deleteById(1);
    }

    /**
     * 查詢指定id數據
     */
    @Test
    public void testSelectById() throws Exception{
        User entity = new User();
        User user = entity.selectById(1);
        System.out.println(user);
    }

    /**
     * 查詢所有數據
     */
    @Test
    public void testSelectAll() throws Exception{
        User entity = new User();
        List list = entity.selectList(null);
        System.out.println(list);
    }

    /**
     * 查詢所有數據 - 分頁
     */
    @Test
    public void testSelectAllPage() throws Exception{
        User entity = new User();
        Page<User> page = entity.selectPage(new Page<User>(1, 10), null);
        System.out.println(page);
    }
}

五、原生MyBatis方式

這個案例就放文末demo源碼吧,不多說,也就是自己寫sql語句處理對應業(yè)務
SpringBoot 整合 MyBatis-Plus 入門體驗

六、總結

  1. 引入相關依賴
  2. MyBatis-Plus核心配置 - 掃包、別名、分頁插件等
  3. 編寫業(yè)務代碼測試

總體來說相對簡單,關于MyBatis-Plus更多的語法和功能可參考MyBatis-Plus官網文檔

https://mp.baomidou.com/guide/crud-interface.html#mapper-crud-%E6%8E%A5%E5%8F%A3

整體項目結構
SpringBoot 整合 MyBatis-Plus 入門體驗


本文案例源碼

https://gitee.com/zhengqingya/java-workspace

項目實戰(zhàn)可參考:
GitHub地址:https://github.com/zhengqingya/code-generator 碼云地址:https://gitee.com/zhengqingya/code-generator

文章標題:SpringBoot整合MyBatis-Plus入門體驗
標題URL:http://m.rwnh.cn/article42/igjchc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化微信小程序、網站排名企業(yè)網站制作、品牌網站制作面包屑導航

廣告

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

微信小程序開發(fā)
昔阳县| 仁寿县| 罗江县| 庆云县| 东兰县| 渝中区| 府谷县| 鄂伦春自治旗| 塔城市| 定州市| 庆阳市| 康马县| 乃东县| 礼泉县| 育儿| 岚皋县| 北辰区| 石景山区| 尉氏县| 霍城县| 马龙县| 临沂市| 阿克| 克什克腾旗| 稷山县| 盐亭县| 育儿| 甘孜县| 北碚区| 会理县| 湘潭县| 伊金霍洛旗| 蒲江县| 山阴县| 凤台县| 清水河县| 黔西县| 忻州市| 西吉县| 广水市| 剑川县|