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