mybatis-plus 的配置


1.首先新建一個springboot 項目

2.配置pom.xml文件

//這是自動配置pojo類的包,這樣我們就不用再pojo 里面寫set ,get方法,和構造方法

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>
//這是mybatis-plus的包
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.5</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency><dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

 

3.配置application.yml 文件
#這是配置服務的端口
server:
  port: 8082 #配置項目的數據源
spring:
  datasource:
    username: root
    password: 123456
    #com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
    #高版本的mysql 會不寫后面的 serverTimezone 會啟動不了
    url: jdbc:mysql://localhost:3306/spring?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8


mybatis-plus:
  configuration:
    # 是否開啟自動駝峰命名規則(camel case)映射,即從經典數據庫列名 A_COLUMN(下划線命名) 到經典 Java 屬性名 aColumn(駝峰命名) 的類似映射
    map-underscore-to-camel-case: false # 輸出日志文件
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

  global-config:
    db-config:
      #設置刪除的標志,1為已刪除的,0為未刪除的
      logic-delete-value: 1
      logic-not-delete-value: 0

4.編寫pojo類(即實體類)這里以我創建的User為例子,同時數據庫里面也要建一張user表。(博主用的是mysql)
package com.xbin.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
//生成get set 方法的注解
@Data
//無參構造函數
@NoArgsConstructor
//全參構造函數
@AllArgsConstructor
public class User {
    //id 的生成方式
    @TableId(type = IdType.ID_WORKER)
    private Long userId;
    private String  userName;
    private String  email;
    private Integer countryId;
    private Integer depId;private Date    create_time;private Date    update_time;
    private Integer version;
    private Integer deleted;
}

 

5.編寫Dao類,博主這里用的是mapper這個名詞來代替Dao,本質是一樣的,只是命名方式不一樣而已

package com.xbin.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xbin.pojo.User;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.ResponseBody;
//注入到spring 容器中
@Repository
//在對應的類上去繼承BaseMapper
public interface UserMapper extends BaseMapper<User> {

    //BaseMapper幫我們全部定制好了
    //這里不再需要寫任何的crud代碼
}

 

6.還要記得在主啟動類加上掃描的注解(這個是坑,博主健忘,經常踩坑)
package com.xbin;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
//掃描mapper 包下面的所有mapper類
@MapperScan("com.xbin.mapper")
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

 

7.在測試類里面測試(下面是博主的一些測試,有些注釋掉的是后面一些知識點的測試)

package com.xbin;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xbin.mapper.UserMapper;
import com.xbin.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.HashMap;
import java.util.List;

@SpringBootTest
class DemoApplicationTests {

    //自動注入userMapper
    @Autowired
    UserMapper userMapper;

    @Test
    void contextLoads() {
//不需要寫sql語句,用userMapper.selectList就能查詢出來數據
List
<User> users=userMapper.selectList(null); users.forEach(System.out::println); } // @Test // public void insertUser(){ // User user = new User(); // user.setUserName("大鵝"); // user.setEmail("66666@qq.com"); // user.setDepId(2); // // int resultId=userMapper.insert(user); // System.out.println("resultId:"+resultId); // System.out.println("新建好的用戶:"+user); // } // @Test // public void testOplock(){ // User user=userMapper.selectById(1); // user.setEmail("test@qq.com"); // // userMapper.updateById(user); // // } //@Test //public void testOplock(){ // User user=userMapper.selectById(1); // user.setEmail("test@qq.com"); // // User user2=userMapper.selectById(1); // user2.setEmail("nonono@qq.com"); // userMapper.updateById(user2); // // userMapper.updateById(user); // //} // @Test // public void testPage() { // Page<User> page = new Page<User>(1, 5); // userMapper.selectPage(page, null); // // System.out.println(page.getRecords().get(1)); // } @Test public void testDelete() { HashMap<String,Object> delMap=new HashMap<>(); delMap.put("userId",1); userMapper.deleteByMap(delMap); } }

OK, 這就是mybatis-plus 的基本使用,它可以簡化很多繁瑣的CRUD 操作,在開發中給我帶來很多的方便。

有空繼續更新。

只要學不死,就往死里學    ——呆馬鴿子

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM