项目概览
yaml配置
spring:
# 配置数据库信息
datasource:
username: root
url: jdbc:mysql://wlient.icu:3306/Mybatis?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
password: password
driver-class-name: com.mysql.cj.jdbc.Driver
mvc:
servlet:
load-on-startup: 100
server:
port: 8080
#配置日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
Pojo类
public class User implements Serializable {
private static final long serialVersionUID = -38627252523340994L;
private Long id;
/**
* 用户名称
*/
private String username;
/**
* 生日
*/
private Date birthday;
/**
* 性别
*/
private String sex;
/**
* 地址
*/
private String address;
private String password;
/**
* 创建时间
*/
//@TableField(fill=FieldFill.INSERT)
private Date createTime;
/**
* 更新时间
*/
//@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
DAO类
package com.swl.mybatis_plus.Dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.swl.mybatis_plus.Pojo.User;
/**
* @author Wlient
* @date 2021/2/6
*/
//在对应的Dao extends BaseMapper
@Mapper
public interface UserDao extends BaseMapper<User> {
}
ResponseParams类
package com.swl.mybatis_plus.comment;
/**
* @author Wlient
* @date 2021/2/6
*/
public class ResponseParams<T>{
private Integer errCode;
private String errMsg;
private T data;
//private Map<String, Object> pageInfo;
public Integer getErrCode() {
return errCode;
}
public String getErrMsg() {
return errMsg;
}
public T getData() {
return data;
}
private ResponseParams(){
}
public static <DTO> ResponseParams<DTO> ok(DTO t){
ResponseParams<DTO> param=new ResponseParams<DTO>();
param.errCode=SysHttpStatus.SUCCESS.getStatus();
param.errMsg=SysHttpStatus.SUCCESS.getMessage();
param.data=t;
return param;
}
}
SysHttpStatus 类
package com.swl.mybatis_plus.comment;
/**
* @author Wlient
* @date 2021/2/6
*/
public enum SysHttpStatus {
/**
* 响应状态码(Status),状态信息(Message)规范
*/
/** 成功 **/
SUCCESS(200, "成功");
private int status;
private String message;
private SysHttpStatus(int status, String message) {
this.status = status;
this.message = message;
}
public int getStatus() {
return this.status;
}
public String getMessage() {
return this.message;
}
}
UserController 类
package com.swl.mybatis_plus.controller;
import com.swl.mybatis_plus.Dao.UserDao;
import com.swl.mybatis_plus.Pojo.User;
import com.swl.mybatis_plus.comment.ResponseParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
/**
* @author Wlient
* @date 2021/2/6
*/
@RestController
public class UserController {
@Autowired
private UserDao userDao;
Object object;
@RequestMapping(value = "/select")
public ResponseParams<?> contextLoads() {
List<User> users = userDao.selectList(null);
users.forEach(System.out::println);
return ResponseParams.ok(users);
}
@RequestMapping(value = "/insert")
public ResponseParams<?> Insert(){
User user = new User();
user.setAddress("兽化谷");
user.setBirthday(new Date());
user.setPassword("123456");
user.setSex("女");
user.setUsername("末炎");
int result = userDao.insert(user);
System.out.println(result);
System.out.println(user);
return ResponseParams.ok(user);
}
@RequestMapping(value = "/update")
public void Update(){
User user = new User();
//通过条件自动拼接动态SQL
user.setId(1285034595146526721L);
user.setUsername("苦灵");
//userId是唯一参数,其余参数是条件,但不能传id,要传对象。
int i = userDao.updateById(user);
System.out.println(i);
}
}
启动类
package com.swl.mybatis_plus;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.swl.mybatis_plus.Dao")
@SpringBootApplication
public class MybatisPlusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPlusApplication.class, args);
}
}
测试结果
由于这是一个test,所以没有service层,一般在项目中是不会在controller层写事务逻辑的。