功能模块
目录结构图:
1、UserDao
public interface UserDao {
/**
* 查询所有用户
*
* @return
*/
@Select("select * from user")
List<User> findALL();
/**
* 通过id查询用户
* 注解开发@Select("select * from user where userid=#{id}")
* @param id
* @return
*/
@Select("select * from user where userid=#{id}")
public User findById(int id);
/**
* 插入数据
*
* @return
*/
@Insert("insert into user(userid,usercode,username) values(#{userid},#{usercode},#{username})")
int save(User user);
/**
* 更新
*
* @return
*/
@Update("update user set username=#{username},usercode=#{usercode} where userid=#{userid}")
int update(User user);
/**
* 通过id删除
*
* @param id
* @return
*/
@Delete("delete from user where userid = #{id}")
int delete(int id);
}
2、User
public class User {
private Integer userid;
private String usercode;
private String userpwd;
private Boolean isadmin;
private String username;
private String telephone;
private String gender;
private Integer age;
private String address;
private Date createdon;
private Date updatetime;
@Override
public String toString() {
return "User{" +
"userid=" + userid +
", usercode='" + usercode + '\'' +
", userpwd='" + userpwd + '\'' +
", isadmin=" + isadmin +
", username='" + username + '\'' +
", telephone='" + telephone + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
", address='" + address + '\'' +
", createdon=" + createdon +
", updatetime=" + updatetime +
'}';
}
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getUsercode() {
return usercode;
}
public void setUsercode(String usercode) {
this.usercode = usercode;
}
public String getUserpwd() {
return userpwd;
}
public void setUserpwd(String userpwd) {
this.userpwd = userpwd;
}
public Boolean getIsadmin() {
return isadmin;
}
public void setIsadmin(Boolean isadmin) {
this.isadmin = isadmin;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Date getCreatedon() {
return createdon;
}
public void setCreatedon(Date createdon) {
this.createdon = createdon;
}
public Date getUpdatetime() {
return updatetime;
}
public void setUpdatetime(Date updatetime) {
this.updatetime = updatetime;
}
}
3、UserService
@Transactional
public interface UserService {
/**
* 查询所有用户
*
* @return
*/
List<User> findALL();
/**
* 通过id查询用户
* @param id
* @return
*/
public User findById(int id);
/**
* 插入数据
*
* @return
*/
int save(User user);
/**
* 更新
*
* @return
*/
int update(User user);
/**
* 通过id删除
*
* @param id
* @return
*/
int delete(int id);
}
4、UserServiceImpl
Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public List<User> findALL() {
return userDao.findALL();
}
@Override
public User findById(int id) {
return userDao.findById(id);
}
@Override
public int save(User user) {
return userDao.save(user);
}
@Override
public int update(User user) {
return userDao.update(user);
}
@Override
public int delete(int id) {
return userDao.delete(id);
}
}
5、UserController
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public List<User> findALL() {
return userService.findALL();
}
@GetMapping("/{id}")
public User findById(@PathVariable int id) {
return userService.findById(id);
}
@PostMapping
public int save(@RequestBody User user) {
return userService.save(user);
}
@PutMapping
public int update(@RequestBody User user) {
return userService.update(user);
}
@DeleteMapping("/{id}")
public int delete(@PathVariable int id) {
return userService.delete(id);
}
}
接口测试
业务层接口测试
写测试类:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class UserServiceTest {
@Autowired
UserService userService;
@Test
public void testFindById(){
System.out.println(userService.findById(10));
}
@Test
public void testFindAll(){
System.out.println(userService.findALL());
}
}
运行结果:
User{userid=10, usercode='admin11', userpwd='admin', isadmin=true, username='admin11', telephone='null', gender='null', age=null, address='null', createdon=Sun May 23 22:22:33 CST 2021, updatetime=Sun May 23 22:22:33 CST 2021}
Process finished with exit code 0
表现层接口测试
这里调的是findAll接口,用的是REST风格