MybatisPlus的初步使用

2020-10-29 11:01:22

MybatisPlus的初步使用

在springBoot裡面使用MybatisPlus的注意事項

1.在專案裡面我們的dao層的dao不需要自己寫SQL語句,但是需要在mapper繼承一個介面,以及上一個註解@Repository,具體如下程式碼

package com.atguigu.mapper;

import com.atguigu.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

@Repository
public interface UserMapper extends BaseMapper<User> {
}

2.在啟動類的上面需要有一個註解,@MapperScan(「com.atguigu.mapper」)

//指定要變成實現類的介面所在的包,然後包下面的所有介面在編譯之後都會生成相應的實現類

package com.atguigu;

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

@SpringBootApplication
@MapperScan("com.atguigu.mapper")
//指定要變成實現類的介面所在的包,然後包下面的所有介面在編譯之後都會生成相應的實現類
public class MpApplication {

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

}

3.在我們的組態檔裡面

3.1JDBC註冊驅動需要使用最新的

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

3.2 下面是在組態檔中開啟紀錄檔,我們可以在控制檯看見我們的sql語句

mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
#下面的這一步是開啟紀錄檔,在紀錄檔檔案中可以看見我們的sql語句
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

3.3在這裡我們特別需要注意的是我們要加入時區設定,東八區時間,是因為springboot版本更迭原因。

serverTimezone=GMT%2B8

spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8

4,在我們的JavaBean中我們的id需要用應用資料型別,例如下面的long型別只能使用一次,第二次就無法使用了,需要用他的包裝類Long

package com.atguigu.entity;

import lombok.Data;

/**
 * @Author Kilig Zong
 * @Date 2020/10/27 20:17
 * @Version 1.0
 */
@Data
public class User {
    //注意這個在mybatis_plus中可以作用在資料庫中,但是型別需要是基本資料型別的包裝類;
    private Long id;
    private String name;
    private  int age;
    private  String email;

    

}

5.在我們的test測試類中我們需要特別注意我們的註解,例如@Test還有@Runwith註解以及他們的作用

package com.atguigu;

import com.atguigu.entity.User;
import com.atguigu.mapper.UserMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;
//這一步是將test環境和spring容器相融合
@RunWith(SpringRunner.class)
//提供了一個spring容器環境
@SpringBootTest
public class MpApplicationTests {

    @Autowired
    private UserMapper userMapper;
    /***
     * @author Kilig Zong
     * @date 2020/10/27 21:10
     * @description
     * @param
     * @return void
     **/
    //下面的這個方法是用來查詢所有的使用者
    @Test
   public void testFindAll(){
       List<User> users = userMapper.selectList(null);
       for (User user : users) {
           System.out.println(user);
       }
   }
   @Test
    public  void testSaveUser(){
       User user = new User();
       //id是我們mybatisplus幫我們生成的,不能是基本資料型別,必須是參照型別
        user.setAge(18);
        user.setName("吳世林");
        user.setEmail("12324.@qq.com");
       int i = userMapper.insert(user);
       System.out.println(i);
   }

}