手把手教你开发springboot项目(三)接口测试

前文:
手把手教你开发springboot项目(一)创建工程:https://blog.csdn.net/wh456413/article/details/106673510
手把手教你开发springboot项目(二)配置开发环境:
https://blog.csdn.net/wh456413/article/details/106683487
接上一步骤,接下来开始设计接口

1.建包,建立开发包modules包,在modules包里建立模块开发包

手把手教你开发springboot项目(三)接口测试_第1张图片
2.在entity包中建立实体类,这里使用user类
手把手教你开发springboot项目(三)接口测试_第2张图片

3.dao层开发

建立dao层接口,注意需要在接口前加上@Repository和@Mapper注解,这里跟ssm框架不一样,不需要使用mapper.xml进行数据库操作,使用注解存放sql语句操作,如使用mapper.xml开发,见:springboot使用mapper.xml操作数据库源码

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.type.JdbcType;
import org.springframework.stereotype.Repository;

import com.springboot.springb.modules.user.entity.User;

@Repository
@Mapper
public interface UserDao {
	
	/*查询所有用户*/
	@Select("select * from user")
	@Results/*定义此结果集必须放在查询语句下面,其他方法才能获取*/(id="userResult", value={
			@Result(column="u_wnum", property="uWnum", jdbcType=JdbcType.VARCHAR),
			@Result(column="u_name", property="uName", jdbcType=JdbcType.VARCHAR),
			@Result(column="u_password", property="uPassword", jdbcType=JdbcType.CHAR)
			})
     List<User> getUserList();
	
	/*分页查询*/
	@Select("select * from user")
	@ResultMap("userResult")
	List<User> getUserListPage();
	
	/*根据用户ID查询用户*/
	@Select("select * from user where u_wnum=#{wNum}")
	@ResultMap("userResult")
	User getUserBywNum(String wNum);
	
	/*增加用户*/
	@Insert("insert into user(u_wnum,u_name,u_password,fk_role_id) values(#{uWnum},#{uName},#{uPassword},#{fkRoId})")
	int inserUser(User u);
	
	/*删除用户*/
	@Delete("delete from user where u_wnum=#{wNum}")
	int deleteUserBywNum(String wNum);
	
	/*修改用户*/
	@Update("update user set u_name=#{uName},u_password=#{uPassword} where u_wnum=#{uWnum}")
	int updateUser(User u);
}

4.service,Impl实现层开发

手把手教你开发springboot项目(三)接口测试_第3张图片
UserService

public interface UserService {

	List<User> getUserList();
	List<User> getUserListPage();
	User getUserBywNum(String wNum);
	int inserUser(User u);
	int deleteUserBywNum(String wNum);
	int updateUser(User u);
}

UserServiceImpl

@Service
public class UserServiceImpl implements UserService {
	
	@Autowired
	private UserDao userdao;
	
	@Override
	public List<User> getUserList() {
		List<User>us=userdao.getUserList();
		return us;
	}

	@Override
	public User getUserBywNum(String wNum) {
		
		return userdao.getUserBywNum(wNum);
	}

	@Override
	public int inserUser(User u) {
		
		return userdao.inserUser(u);
	}

	@Override
	public int deleteUserBywNum(String wNum) {
		
		return userdao.deleteUserBywNum(wNum);
	}

	@Override
	public int updateUser(User u) {
		
		return userdao.updateUser(u);
	}

	@Override
	public List<User> getUserListPage() {
		return userdao.getUserListPage();
	}

}

5.controller控制层开发

@Controller
@RequestMapping("/user")
public class UserController {
	@Autowired
	private UserServiceImpl userImpl;
	
	/**
	 * 查询所有用户
	 */
	@RequestMapping("/getUserList")
	@ResponseBody
	public List<User> getUserList(){
		List<User> us=userImpl.getUserList();
		return us;
	}

	/*
	 * 分页查询
	 */
	@RequestMapping("/getUserListPage")
	@ResponseBody
	public PageInfo<User> getUserListPage(){
		PageHelper.startPage(0,3);
		List<User> us=userImpl.getUserListPage();
		return new PageInfo<User>(us);
	}
	
	/**
	 * 根据用户Id查询用户
	 */
	@RequestMapping("/getUserByWnum")
	@ResponseBody
	public User getUserByWnum(String wNum){
		return userImpl.getUserBywNum(wNum);
	}
	
	/**
	 * 增加用户
	 */
	@PostMapping("/insertUser")
	@ResponseBody
	public int insertUser(User u){
		return userImpl.inserUser(u);
	}
	
	/*
	 * 删除用户
	 */
	@PostMapping("/deleteUserBywNum")
	@ResponseBody
	public int deletetUser(String wNum){
		return userImpl.deleteUserBywNum(wNum);
	}
	
	/*
	 * 修改用户
	 */
	@PostMapping("/updateUser")
	@ResponseBody
	public int updateUser(User u){
		return userImpl.updateUser(u);
	}
}

完成!
可以看到,springboot接口开发与ssm框架的区别主要体现在dao层上。
效果测试:
手把手教你开发springboot项目(三)接口测试_第4张图片
这里访问工程不需要工程名

接下来就可以进行页面开发了

你可能感兴趣的:(springboot,java,spring,spring,boot,后端,mysql)