此demo的项目结构
用idea创建好一个springboot的基础项目之后,在pom.xml文件中加入以下依赖,
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
安装完依赖之后,配置application.properties
#修改tomcat端口
server.port=8081
#设定Url的地址路径
#server.servlet.context-path=/springboot
#设定前缀
#spring.mvc.view.prefix=/
#设定后缀
#spring.mvc.view.suffix=.jsp
#连接字符串Mysql
spring.datasource.url=jdbc:mysql://localhost:3306/xiaozhoucms?serverTimezone=UTC
#mysql驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#mysql用户名
spring.datasource.username=root
#mysql密码
spring.datasource.password=123456789
#阿里巴巴数据库连接池
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#扫描mapper下面的所有.xmlwen件
mybatis.mapper-locations=classpath:mapper/*.xml
#扫描entity下所有实体
mybatis.type-aliases-package=com.example.demo.entity
#SpringBoot打印MyBatis sql日志输出
logging.level.com.example.cmscrud.demo.mapper=debug
在idea上连接上本地数据库,如下图,图中只用到了users这个表
在本地数据库创建数据库并且创建一个users的表格,内容如下。
然后按照结构创建全部的包名称,controller、entity、mapper、service。
Application文件
package com.example.cmscrud.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.example.cmscrud.demo.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
controller包下的UsersController文件
package com.example.cmscrud.demo.controller;
import com.example.cmscrud.demo.entity.Users;
import com.example.cmscrud.demo.service.impl.UsersServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class UsersController {
@Autowired
private UsersServiceImpl usersService;
/*
get请求获取用户列表
*/
@RequestMapping("/users")
@ResponseBody
public List<Users> getUser(){
return usersService.getAllUser(1,10);
}
/*
post请求添加用户
*/
@RequestMapping(value = "/postuser",method = RequestMethod.POST)
@ResponseBody
public int insertUser(Users users){
System.out.println(users);
String md5Password=DigestUtils.md5DigestAsHex(users.getPassword().getBytes());
System.out.println(md5Password);
users.setPassword(md5Password);
return usersService.insertUser(users);
}
/*
delete请求删除用户数据
*/
@RequestMapping(value = "/deleteuser",method = RequestMethod.DELETE)
public int deleteUser(int id){
System.out.println(id);
return usersService.deleteUser(id);
}
/*
update请求修改用户数据
*/
@RequestMapping(value = "/updateuser",method = RequestMethod.POST)
public int updateUser(Users users){
return usersService.updateUser(users);
}
}
entity包下的Users文件
package com.example.cmscrud.demo.entity;
import lombok.Data;
@Data
public class Users {
private long id;
private String username;
private String password;
private java.sql.Timestamp createdAt;
private java.sql.Timestamp updatedAt;
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 String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public java.sql.Timestamp getCreatedAt() {
return createdAt;
}
public void setCreatedAt(java.sql.Timestamp createdAt) {
this.createdAt = createdAt;
}
public java.sql.Timestamp getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(java.sql.Timestamp updatedAt) {
this.updatedAt = updatedAt;
}
@Override
public String toString() {
return "Users{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", createdAt=" + createdAt +
", updatedAt=" + updatedAt +
'}';
}
}
mapper包下的UsersMapper文件
package com.example.cmscrud.demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.cmscrud.demo.entity.Users;
import org.springframework.stereotype.Component;
@Component
public interface UsersMapper extends BaseMapper<Users> {
}
service包下的UserService文件
package com.example.cmscrud.demo.service;
import com.example.cmscrud.demo.entity.Users;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public interface UsersService {
public List<Users> getAllUser(Integer page,Integer limit);
public int insertUser(Users users);
public int deleteUser(int id);
public int updateUser(Users users);
}
service包内impl包里的UserServiceImpl文件
package com.example.cmscrud.demo.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.cmscrud.demo.entity.Users;
import com.example.cmscrud.demo.mapper.UsersMapper;
import com.example.cmscrud.demo.service.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UsersServiceImpl implements UsersService {
@Autowired
private UsersMapper usersMapper;
@Override
public List<Users> getAllUser(Integer page, Integer limit) {
IPage<Users> usersIPage=new Page<>(page,limit);
IPage<Users> result=usersMapper.selectPage(usersIPage,null);
List<Users> users=result.getRecords();
return users;
}
@Override
public int insertUser(Users users) {
// System.out.println(users);
return usersMapper.insert(users);
}
@Override
public int deleteUser(int id) {
return usersMapper.deleteById(id);
}
@Override
public int updateUser(Users users) {
return usersMapper.updateById(users);
}
}