一.pom.xml
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mLzVyZ2s5c0dKVjBBeXBaQnoucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mL3VLbldqTklwbkw0UGMzakcucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mL0tTQnNmdWtIeEJTVzdLUlkucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
二.实体类对象
1.代码块
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import static com.baomidou.mybatisplus.annotation.IdType.AUTO;
@Data
@NoArgsConstructor //空参构造方法
@AllArgsConstructor //全参构造方法
@TableName("tb_user")
public class User {
@TableId(type=IdType.AUTO) //声明主键自增长
private Long id;
private String userName;
private String password;
@TableField(select = false) //查询时,则不返回该字段的值
private String name;
private Integer age;
@TableField(value = "email") //通过tableField进行字段不一致的映射
//数据库字段是email,而实体类对应的是mail
private String mail;
@TableField(exist = false) //设置该字段在数据库表中不存在
private String msg; //数据库中不存在该字段
}
2.范例
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mL1dEQ2xhTE5LZm93M3JvVlEucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
三.dao层
1.代码块
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* mybatisPlus整合spring
*/
@Mapper
@Repository
public interface UserMapper extends BaseMapper<User> {
public List<User> findAll();
}
2.范例
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mL0w0SElvZ2doaDJ5cUpjemgucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
四.启动器类
1.代码块
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("cn.mapper")
/**
* springboot整合mybatisplus
*/
public class SpringBootApplicationDemo01 {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplicationDemo01.class,args);
}
}
2.范例
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mLzc2VVBtd2V0cFZZam9OVEUucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
五.配置文件yml
1.代码块
spring:
#数据库连接配置
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/db2?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
username: root
password: root
#mybatis的相关配置
mybatis:
#mapper配置文件
mapper-locations: classpath:mapper/*.xml
type-aliases-package: cn.pojo
#开启驼峰命名
configuration:
map-undersco
2.范例
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mL1hCRU5SRDNlWEFrdm5mbVIucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
六.log4j
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mL3RoVmk0UzVLRG5PRTFiSU8ucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
七.测试类
1.保存测试
import cn.mapper.UserMapper;
import cn.pojo.User;
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;
/**
* 保存操作
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = cn.SpringBootApplicationDemo01.class)
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
public void test1(){
User user = new User();
user.setUserName("小明");
user.setName("小明");
user.setPassword("32343");
user.setAge(22);
int num = userMapper.insert(user);
System.out.println(num);
}
}
2.测试springboot整合junit
(1)范例
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mL1hWN3dXeUxpdkl2cGhEV0cucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
(2)代码块
import cn.mapper.UserMapper;
import cn.pojo.User;
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.SpringJUnit4ClassRunner;
import java.util.List;
//声明junit的字节码
@RunWith(SpringJUnit4ClassRunner.class)
//声明主启动器的路径
@SpringBootTest(classes = cn.SpringBootApplicationDemo01.class)
public class MybatisSpringBootTest {
@Autowired
private UserMapper userMapper;
@Test
public void test1(){
List<User> users = userMapper.selectList(null);
for (User user:users){
System.out.println(user);
}
}
}
3.测试实体类属性和数据库字段不一致
(1)代码块
import cn.mapper.UserMapper;
import cn.pojo.User;
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;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = cn.SpringBootApplicationDemo01.class)
/**
* 测试字段不一致
*/
public class UserMapperTest2 {
@Autowired
private UserMapper userMapper;
@Test
public void test1(){
User user = new User();
user.setUserName("小明");
user.setName("小明");
user.setPassword("32343");
user.setAge(22);
user.setMail("itcast.com");
int num = userMapper.insert(user);
System.out.println(num);
}
@Test
public void test2(){
User user = userMapper.selectById(1l);
System.out.println(user);
}
}
(2)范例
![图片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mL200RFNHcTNtU3pjZDJ3cWQucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
八.源码
mybatisplus.rar