Spring-boot-Mybatis模块结构:

首先建立一个实体类
User类
package com.springboot.mybatis.entity;
import lombok.Data;
@Data
public class User {
private Long userId;
private String mobile;
private String password;
private String userName;
private String avatar;
}
接着建立一个mapper的包
UserMapper类 里面有增删改查四种语句
package com.springboot.mybatis.mapper;
import com.springboot.mybatis.entity.Course;
import com.springboot.mybatis.entity.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
public interface UserMapper {
@Results({
@Result(property = "userId",column = "user_id"),
@Result(property = "mobile",column = "mobile"),
@Result(property = "password",column = "password"),
@Result(property = "userName",column = "username"),
@Result(property = "avatar",column = "avatar"),
})
@Select("SELECT * FROM t_sys_user ")
List<User> selectAll();
@Results({
@Result(property = "userId",column = "user_id"),
@Result(property = "mobile",column = "mobile"),
@Result(property = "password",column = "password"),
@Result(property = "userName",column = "username"),
@Result(property = "avatar",column = "avatar"),
})
@Select("SELECT * FROM t_sys_user WHERE user_id=#{user_id}")
User getOne(long UserId);
@Insert("INSERT INTO t_sys_user(mobile,password,username,avatar)" +
" VALUES(#{mobile}, #{password}, #{userName},#{avatar}) ")
void insert(User user);
@Update("UPDATE t_sys_user SET password=#{password},avatar=#{avatar} WHERE user_id=#{userId} ")
void update(User user);
@Delete("DELETE FROM t_sys_user WHERE user_id =#{userId} ")
void delete(Long userId);
}
再建UserService接口
package com.springboot.mybatis.service;
import com.springboot.mybatis.entity.Course;
import com.springboot.mybatis.entity.User;
import java.util.List;
public interface UserService {
List<User> selectAll();
User getOne(long userId);
User insert(User user);
void update(User user);
void delete(long userId);
}
然后写UserServiceImpl类
package com.springboot.mybatis.service.impl;
import com.springboot.mybatis.entity.User;
import com.springboot.mybatis.mapper.UserMapper;
import com.springboot.mybatis.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Resource
private UserMapper userMapper;
@Override
public List<User> selectAll() {
return userMapper.selectAll();
}
@Override
public User getOne(long userId) {
return userMapper.getOne(userId);
}
@Override
public User insert(User user) {
userMapper.insert(user);
return user;
}
@Override
public void update(User user) {
userMapper.update(user);
}
@Override
public void delete(long userId) {
userMapper.delete(userId);
}
}
接着写测试类
package com.springboot.mybatis.service.impl;
import com.springboot.mybatis.entity.Course;
import com.springboot.mybatis.entity.User;
import com.springboot.mybatis.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import java.util.List;
import static org.junit.Assert.*;
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserServiceImplTest {
@Resource
private UserService userService;
@Test
public void selectAll() {
List<User> courseList=userService.selectAll();
courseList.forEach(user -> System.out.println(user));
}
@Test
public void getOne() {
User user= userService.getOne(2);
System.out.println(user);
}
@Test
public void insert() {
User user = new User();
user.setMobile("13923232323");
user.setPassword("444");
user.setUserName("凯思");
user.setAvatar("a.jpg");
userService.insert(user);
}
@Test
public void update() {
User user =userService.getOne(3L);
user.setPassword("458");
user.setAvatar("d.jpg");
userService.update(user);
}
@Test
public void delete() {
userService.delete(3L);
}
}
最后写controller类
package com.springboot.mybatis.controller;
import com.springboot.mybatis.entity.Course;
import com.springboot.mybatis.entity.User;
import com.springboot.mybatis.service.UserService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping(value = "/api")
public class UserController {
@Resource
private UserService userService;
@RequestMapping(value = "/users",method = RequestMethod.GET)
public List<User> selectAll() {
return userService.selectAll();
}
@RequestMapping(value = "/users/{id}",method=RequestMethod.GET )
public User getOne(@PathVariable("id") long id){
return userService.getOne(id);
}
@RequestMapping(value = "/user",method = RequestMethod.POST)
public void addUser(@RequestBody User user){
userService.insert(user);
}
@RequestMapping(value = "/user",method = RequestMethod.PUT)
public void updateUser(@RequestBody User user){
userService.update(user);
}
@RequestMapping(value = "/user/{id}",method = RequestMethod.DELETE)
public void delete(@PathVariable("id") long id){
userService.delete(id);
}
}
运行结果:
增删改查的效果图:





网友评论