引入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mybatis 依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
<!--mysql链接依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
配置文件
spring.application.name=crud
#数据源信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:25565/test?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=116126
#配置mybatis映射文件路径
mybatis.mapper-locations=classpath:mapper/*.xml
Application主类
@SpringBootApplication
@MapperScan("org.gym.crud.generator.mapper")
public class CrudApplication {
public static void main(String[] args) {
SpringApplication.run(CrudApplication.class, args);
}
}
Vo返回类
@Data
public class R {
private Integer code;
private String msg;
private Object data;
}
实体类
@Data
public class User {
private Integer uid;
private String uname;
}
mapper
public interface UserMapper {
int insert(User user);
int deleteById(User user);
int updateById(User user);
User selectById(User user);
List<User> selectAll();
}
映射文件
<insert id="insert">
insert into user (uname)
values (#{uname})
</insert>
<update id="updateById">
update user
<set>
<if test="uname != null">
uname = #{uname},
</if>
</set>
where uid = #{uid}
</update>
<delete id="deleteById">
delete from user where uid = #{uid}
</delete>
<select id="selectById" resultType="org.gym.crud.generator.domain.User">
select *
from user
where uid = #{uid}
</select>
<select id="selectAll" resultType="org.gym.crud.generator.domain.User">
select *
from user
</select>
Service接口
public interface UserService {
R insert(User user);
R deleteById(Integer uid);
R updateById(User user);
R selectById(Integer uid);
R selectAll();
}
service
@Service
public class UserServiceImp implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public R insert(User user) {
if(userMapper.insert(user)!=0){
return new R(200,"添加成功",null);
}
return new R(500,"添加失败",null);
}
@Override
public R deleteById(Integer uid) {
if(userMapper.deleteById(uid)!=0){
return new R(200,"删除成功",null);
}
return new R(500,"添加失败",null);
}
@Override
public R updateById(User user) {
if(userMapper.updateById(user)!=0){
return new R(200,"修改成功",null);
}
return new R(500,"修改失败",null);
}
@Override
public R selectById(Integer uid) {
User user = userMapper.selectById(uid);
if(user!=null){
return new R(200,"查询成功",user);
}
return new R(500,"查询失败",null);
}
@Override
public R selectAll() {
List<User> users = userMapper.selectAll();
if(users!=null){
return new R(200,"查询成功",users);
}
return new R(500,"查询失败",null);
}
}
controller
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/insert")
public R insert(User user) {
return userService.insert(user);
}
@DeleteMapping("/deleteById")
public R deleteById(Integer uid) {
return userService.deleteById(uid);
}
@PutMapping("/updateById")
public R updateById(User user) {
return userService.updateById(user);
}
@GetMapping("/selectById")
public R selectById(Integer uid) {
return userService.selectById(uid);
}
@GetMapping("/selectAll")
public R selectAll() {
return userService.selectAll();
}
}