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

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

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

在这里插入图片描述
2.在entity包中建立实体类,这里使用user类
在这里插入图片描述

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实现层开发

在这里插入图片描述
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层上。
效果测试:
在这里插入图片描述
这里访问工程不需要工程名
ps:批量操作写法

@Update({"<script>" +
            "UPDATE  community_user " +
            "set community_id=#{communityId} " +
            "where user_id in"+
            "<foreach collection='userIdlist' item='item' open='(' close=')' separator=','>" +
            "#{item} </foreach>" +
            "</script>"})
	int updateUserCommunity(@Param("communityId")Integer communityId,@Param("userIdlist")List<String> userIdlsit);

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值