当前位置:网站首页>SSM整合-功能模块和接口测试
SSM整合-功能模块和接口测试
2022-07-26 17:39:00 【江湖大侠叶开花】
功能模块
目录结构图:

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风格

边栏推荐
- Still using xshell? Recommend this more modern terminal connection tool
- IrrKlang音频库的下载和配置
- mpc5744p烧录到98%无法继续下载程序
- [add conditional behavior in kotlin]
- J9 number theory: how to avoid the trap of stepping on thunder?
- ssm练习第二天_项目拆分moudle_基本增删改查_批量删除_一对一级联查询
- Arm China responded to the "disconnection of Huawei supply" incident! Ren Zhengfei said "no impact"!
- Duplicate gallerycms character length limit short domain name bypass
- OpenGL中的视差贴图的着色器代码
- Linked list - reverse linked list
猜你喜欢

Neural network learning (2) introduction 2

Linked list - the penultimate K nodes

Leetcode 50 day question brushing plan (day 1 - add two numbers 11.00-12.30)

Are you suitable for automated testing?

深入理解为什么不要使用System.out.println()

链表-合并两个排序的列表

MPLS experiment

PS_2_图层

Oracle第二天(视图、索引、plsql、游标、存储过程和存储函数、触发器、jdbc访问存储过程和存储函数)

Nailing third-party service provider application ISV application development and listing tutorial
随机推荐
深入理解为什么不要使用System.out.println()
Pyqt5 rapid development and practice 3.5 menu bar and toolbar
分布式链路追踪Jaeger在Golang中的使用
Redis persistent rdb/aof
Still using xshell? Recommend this more modern terminal connection tool
更安全、更健康、无续航焦虑,魏牌拿铁DHT-PHEV来了
十年架构五年生活-06 离职的冲动
[ Kitex 源码解读 ] 服务发现
SSM practice day 5
How about the employment prospects of Russian translation? How to do a good job of Russian translation
Real passwords do not match during synchronization
ssm练习第四天_获取用户名_用户退出_用户crud_密码加密_角色_权限
Leetcode 50 day question brushing plan (day 5 - longest palindrome substring 10.50-13:00)
[translation] Why do you need an API gateway to manage access to your API?
继续卷技术 埋头苦学,越学越会
接口测试方案(接口测试思路)
Some tips for printing logs
Data security knowledge system
Interface test scheme (interface test idea)
Ren Zhengfei revealed for the first time: the story behind Huawei's nearly $10billion "sale" to Motorola!