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);
}
}