1.首先新建一个springboot 项目
2.配置pom.xml文件
//这是自动配置pojo类的包,这样我们就不用再pojo 里面写set ,get方法,和构造方法
org.projectlombok
lombok
//这是mybatis-plus的包
com.baomidou
mybatis-plus-boot-starter
3.0.5
mysql
mysql-connector-java
runtime
org.springframework.boot
spring-boot-starter-jdbc
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:
# 是否开启自动驼峰命名规则(camelcase)映射,即从经典数据库列名 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: 1logic-not-delete-value: 0
4.编写pojo类(即实体类)这里以我创建的User为例子,同时数据库里面也要建一张user表。(博主用的是mysql)
packagecom.xbin.pojo;import com.baomidou.mybatisplus.annotation.*;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importjava.util.Date;//生成get set 方法的注解
@Data//无参构造函数
@NoArgsConstructor//全参构造函数
@AllArgsConstructorpublic classUser {//id 的生成方式
@TableId(type =IdType.ID_WORKER)privateLong userId;privateString userName;privateString email;privateInteger countryId;privateInteger depId;privateDate create_time;privateDate update_time;privateInteger version;privateInteger deleted;
}
5.编写Dao类,博主这里用的是mapper这个名词来代替Dao,本质是一样的,只是命名方式不一样而已
packagecom.xbin.mapper;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom.xbin.pojo.User;importorg.springframework.stereotype.Repository;importorg.springframework.web.bind.annotation.ResponseBody;//注入到spring 容器中
@Repository//在对应的类上去继承BaseMapper
public interface UserMapper extends BaseMapper{//BaseMapper帮我们全部定制好了//这里不再需要写任何的crud代码
}
6.还要记得在主启动类加上扫描的注解(这个是坑,博主健忘,经常踩坑)
packagecom.xbin;importorg.mybatis.spring.annotation.MapperScan;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication//扫描mapper 包下面的所有mapper类
@MapperScan("com.xbin.mapper")public classDemoApplication {public static voidmain(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
7.在测试类里面测试(下面是博主的一些测试,有些注释掉的是后面一些知识点的测试)
packagecom.xbin;importcom.baomidou.mybatisplus.extension.plugins.pagination.Page;importcom.xbin.mapper.UserMapper;importcom.xbin.pojo.User;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importjava.util.HashMap;importjava.util.List;
@SpringBootTestclassDemoApplicationTests {//自动注入userMapper
@Autowired
UserMapper userMapper;
@TestvoidcontextLoads() {
//不需要写sql语句,用userMapper.selectList就能查询出来数据
List users=userMapper.selectList(null);
users.forEach(System.out::println);
}//@Test//public void insertUser(){//User user = new User();//user.setUserName("大鹅");//user.setEmail("[email protected]");//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("[email protected]");//
//userMapper.updateById(user);//
//}//@Test//public void testOplock(){//User user=userMapper.selectById(1);//user.setEmail("[email protected]");//
//User user2=userMapper.selectById(1);//user2.setEmail("[email protected]");//userMapper.updateById(user2);//
//userMapper.updateById(user);//
//}//@Test//public void testPage() {//Page page = new Page(1, 5);//userMapper.selectPage(page, null);//
//System.out.println(page.getRecords().get(1));//}
@Testpublic voidtestDelete() {
HashMap delMap=new HashMap<>();
delMap.put("userId",1);
userMapper.deleteByMap(delMap);
}
}
OK, 这就是mybatis-plus 的基本使用,它可以简化很多繁琐的CRUD 操作,在开发中给我带来很多的方便。
有空继续更新。
只要学不死,就往死里学 ——呆马鸽子