当前位置:网站首页>SSM integration - functional module and interface testing
SSM integration - functional module and interface testing
2022-07-26 18:41:00 【Jianghu great Xia Ye Huahua】
Function module
Table of contents :

1、UserDao
public interface UserDao {
/**
* Query all users
*
* @return
*/
@Select("select * from user")
List<User> findALL();
/**
* adopt id Query the user
* Annotation development @Select("select * from user where userid=#{id}")
* @param id
* @return
*/
@Select("select * from user where userid=#{id}")
public User findById(int id);
/**
* insert data
*
* @return
*/
@Insert("insert into user(userid,usercode,username) values(#{userid},#{usercode},#{username})")
int save(User user);
/**
* to update
*
* @return
*/
@Update("update user set username=#{username},usercode=#{usercode} where userid=#{userid}")
int update(User user);
/**
* adopt id Delete
*
* @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 {
/**
* Query all users
*
* @return
*/
List<User> findALL();
/**
* adopt id Query the user
* @param id
* @return
*/
public User findById(int id);
/**
* insert data
*
* @return
*/
int save(User user);
/**
* to update
*
* @return
*/
int update(User user);
/**
* adopt id Delete
*
* @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);
}
}The interface test
Business layer interface test
Write test class :
@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());
}
}Running results :
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
Presentation layer interface testing
The tune here is findAll Interface , It's using REST style

边栏推荐
- Ministry of Finance: IC design enterprises and software enterprises will be exempted from corporate income tax this year and next!
- 自动化测试工具-Playwright(快速上手)
- Download and configuration of irrklang audio library
- 探索式软件测试
- 文件上传下载测试点
- Offer set (1)
- 分布式链路追踪Jaeger在Golang中的使用
- Sudden! Arm stops cooperating with Huawei! How big is the impact on Huawei?
- mpc5744p的pit报错, RTOS无法启动, 时钟源问题
- Mpc5744p burning to 98% can not continue to download the program
猜你喜欢

神经网络学习(2)前言介绍二

Offer set (1)

Oracle day 2 (Views, indexes, PLSQL, cursors, stored procedures and stored functions, triggers, JDBC access stored procedures and stored functions)

你适合做自动化 测试吗?

Sword finger offer regular expression matching

Visual VM positioning oom, fullgc usage

Nailing third-party service provider application ISV application development and listing tutorial

flex布局

Distributed link tracking Jaeger's use in golang

Have you ever encountered a deadlock problem in MySQL? How did you solve it?
随机推荐
IrrKlang音频库的下载和配置
链表-反转链表
MPLS实验
Online stock trading, where to choose to open an account is safer?
Meta Cambria手柄曝光,主动追踪+多触觉回馈方案
Explain in detail the implementation of grpc client long connection mechanism
剑指offer 连续子数组的最大和(二)
[translation] Why do you need an API gateway to manage access to your API?
Linear regression -- Taking an arithmetic sequence as an example
Pyqt5 rapid development and practice 3.5 menu bar and toolbar
Greedy - 455. Distribute cookies
Bulletgraph (bullet diagram, bullet diagram)
LeetCode_134_加油站
Test cases of common functions
MySQL练习题初级45题(统一表)
财政部:今明两年对集成电路设计企业和软件企业免征企业所得税!
If the recommendation effect is not satisfactory, it's better to try to learn the propeller chart
同步时现实密码不匹配
此章节用于补充3
十年架构五年生活-06 离职的冲动