在Spring Boot启动类中添加@MapperScan注解,扫描mapper包
@SpringBootApplication @MapperScan("com.atguigu.mybatisplus.mapper")
public class MybatisplusApplication {
public static void main(String[] args){
SpringApplication.run(MybatisplusApplication.class, args);
}
}
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("car_user")
public class User {
@TableId
private Long id;
private String userName;
private String passwd;
}
BaseMapper是MyBatis-Plus提供的模板mapper,其中包含了基本的CRUD方法,泛型为操作的实体类型
public interface UserDAO extends BaseMapper {
}
在application中添加对mybatisplas的配置
创建mappers 添加UseMapper.xml文件
#mybatisPlus相关配置
mybatis-plus:
mapper-locations: classpath:mappers/*.xml
@RestController 返回JSON、XML或自定义mediaType内容到页面 @Slf4j 打印日志文件
创建测试类TsetController
@RestController
@Slf4j
public class TestController {
}
@Autowired(required = false)
private UserDAO dao;
@RequestMapping("/t2")
public int insertUser(){
int count = dao.insert(new User(null, "tom", "qoiw"));
return count;
@RequestMapping("/t3")
List selectAll(){
List users = dao.selectList(null);
return users;
}
//根据id查询
@RequestMapping("/t4")
User selectByID(){
User u = dao.selectById(1592370642159206402l);
return u;
}
@RequestMapping("/t5")
int UpdateBYId(){
int i = dao.updateById(new User(1592370642159206402l, null, "adadadada"));
return i;
}
@RequestMapping("/t6")
int deleteByid(){
int i = dao.deleteById(1592370642159206402l);
return i;
}
在抽象方法中自定义sql语句
public interface UserDAO extends BaseMapper {
public User login(String userName,String passwd);
public int addUser(User user);
public int updateID(User user);
public int deleteByid(Long id);
}
insert into car_user(id,user_name,passwd) values (#{id},#{userName},#{passwd})
update car_user set user_name=#{userName},passwd=#{passwd} where id=#{id}
delete from car_user where id=#{id}
@RequestMapping("/t6")
int deleteByid(){
int i = dao.deleteById(1592370642159206402l);
return i;
}
@RequestMapping("/t7")
int deleteByIDD(){
int i = dao.deleteBatchIds(Arrays.asList(1592420402845011969l, 1592420401330868226l, 1592420399959330818l));
return i;
}
@RequestMapping("/t8")
String login(String userName,String passwd){
User login = dao.login(userName, passwd);
if (login!=null){
return "yes";
}else{
return "no";
}
}
@RequestMapping("/t9")
int t8(User user){
int i = dao.addUser(new User(1002l, "wangzai", "sdada"));
return i;
}
@RequestMapping("/q1")
int t9(User user){
int i = dao.updateById(new User(1002l, "gaga", "hauhua"));
return i;
}
@RequestMapping("q3")
int q2(Long id){
int i = dao.deleteByid(1002l);
return i;
}
controller
package demo.controller;
import demo.dao.UserDAO;
import demo.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;
@RestController
@Slf4j
public class TestController {
//实例dao对象
@Autowired(required = false)
private UserDAO dao;
@RequestMapping("/hello")
public String test(){
return "你好 web";
}
@RequestMapping("/word")
public String test02(){
return "你好wwwwo";
}
@RequestMapping("/oi")
public User t1(){
User user=new User(1l,"nihao","zhuangwa");
log.info(user.toString());
log.warn(user.toString());
log.error(user.toString());
return user;
}
@RequestMapping("/t2")
public int insertUser(){
int count = dao.insert(new User(null, "tom", "qoiw"));
return count;
}
@RequestMapping("/t3")
List selectAll(){
List users = dao.selectList(null);
return users;
}
@RequestMapping("/t4")
User selectByID(){
User u = dao.selectById(1592370642159206402l);
return u;
}
@RequestMapping("/t5")
int UpdateBYId(){
int i = dao.updateById(new User(1592370642159206402l, null, "adadadada"));
return i;
}
@RequestMapping("/t6")
int deleteByid(){
int i = dao.deleteById(1592370642159206402l);
return i;
}
@RequestMapping("/t7")
int deleteByIDD(){
int i = dao.deleteBatchIds(Arrays.asList(1592420402845011969l, 1592420401330868226l, 1592420399959330818l));
return i;
}
@RequestMapping("/t8")
String login(String userName,String passwd){
User login = dao.login(userName, passwd);
if (login!=null){
return "yes";
}else{
return "no";
}
}
@RequestMapping("/t9")
int t8(User user){
int i = dao.addUser(new User(1002l, "wangzai", "sdada"));
return i;
}
@RequestMapping("/q1")
int t9(User user){
int i = dao.updateById(new User(1002l, "gaga", "hauhua"));
return i;
}
@RequestMapping("q3")
int q2(Long id){
int i = dao.deleteByid(1002l);
return i;
}
}
UserDao
package demo.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import demo.entity.User;
public interface UserDAO extends BaseMapper {
public User login(String userName,String passwd);
public int addUser(User user);
public int updateID(User user);
public int deleteByid(Long id);
}
User
package demo.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("car_user")
public class User {
@TableId
private Long id;
private String userName;
private String passwd;
}
Demo
package demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("demo.dao")
public class Demo {
public static void main(String[] args) {
SpringApplication.run(Demo.class,args);
}
}
application
#配置端口号
server:
port: 8888
spring:
# 配置数据源信息
datasource:
# 配置数据源类型
type: com.zaxxer.hikari.HikariDataSource
# 配置连接数据库信息
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/car?characterEncoding=utf-8&useSSL=false
username: root
password: 123456
#mybatisPlus相关配置
mybatis-plus:
mapper-locations: classpath:mappers/*.xml
UserMapper
insert into car_user(id,user_name,passwd) values (#{id},#{userName},#{passwd})
update car_user set user_name=#{userName},passwd=#{passwd} where id=#{id}
delete from car_user where id=#{id}
结构