SpringBoot系列:Spring Boot集成MyBatis,基于注解sql方式

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
}

UserApi类,即controller。

@RestController

@RequestMapping(“user”)

public class UserApi {

@Autowired

private UserService userService;

/**

  • 添加用户

  • @param user

*/

@PostMapping(“addUser”)

public String addUser(User user){

userService.addUser(user);

return “添加用户成功”;

}

/**

  • 删除用户

  • @param id

*/

@GetMapping(“delUser”)

public String delUser(@RequestParam(value = “id”) int id){

userService.delUser(id);

return “删除用户成功”;

}

/**

  • 修改用户信息

  • @param user

*/

@PostMapping(“updateUser”)

public String updateUser(User user){

userService.updateUser(user);

return “修改用户成功”;

}

/**

  • 获取用户信息

  • @param id

  • @return

*/

@GetMapping(“getUser”)

public User getUser(@RequestParam(value = “id”) int id){

return userService.getUser(id);

}

@GetMapping(“getUsers”)

public List getUsers(){

List users = userService.findAll();

return users;

}

@GetMapping(“getUserByUP”)

public User getUserByUP(@RequestParam(value = “username”) String username, @RequestParam(value = “password”) String password){

return userService.getUser(username, password);

}

}

UserService类,由于简单,省略了其接口。

@Service

public class UserService {

@Autowired

private IUserDao userDao;

/**

  • 添加用户

  • @param user

*/

public void addUser(User user){

userDao.add(user);

}

/**

  • 删除用户

  • @param id

*/

public void delUser(int id){

userDao.del(id);

}

/**

  • 修改用户信息

  • @param user

*/

public void updateUser(User user){

userDao.update(user);

}

/**

  • 获取用户信息

  • @param id

  • @return

*/

public User getUser(int id){

return userDao.find(id);

}

/**

  • 获取全部用户信息

  • @return

*/

public List findAll() {

return userDao.findAll();

}

/**

  • 获取用户

  • @param username

  • @param password

  • @return

*/

public User getUser(String username, String password) {

User user = userDao.findByUsernameAndPassword(username, password);

return user;

}

}

再就是今天的主角了,使用@Mapper注解声明为MyBatis的数据访问层对象。而对于每个方法,我们并不需要为其提供实现,不过需要提供其逻辑的对应的sql。

MyBatis为我们提供了sql相关的注解,如@Insert、@Delete、@Update、@Select等,我们使用这些注解配合sql,即可实现我们的数据库操作。

注意不要漏掉@Param来指明sql参数的名称,否则因为在编译后中的class文件并不记录方法参数名,会导致sql中的参数名无法识别的问题。

@Mapper

public interface IUserDao {

/**

  • 添加用户

  • @param user

  • @return

*/

@Insert(“insert into user(username, password) values(#{username}, #{password})”)

int add(User user);

/**

  • 根据id删除用户

  • @param id

  • @return

*/

@Delete(“delete from user where id = #{id}”)

int del(@Param(“id”) int id);

/**

  • 更新用户信息

  • @param user

  • @return

*/

@Update(“update user set username = #{username}, password = #{password} where id = #{id}”)

int update(User user);

/**

  • 根据id查找用户

  • @param id

  • @return

*/

@Select(“select * from user where id = #{id}”)

User find(@Param(“id”) int id);

/**

  • 获取全部用户

  • @return

*/

@Select(“select * from user”)

总结

谈到面试,其实说白了就是刷题刷题刷题,天天作死的刷。。。。。

为了准备这个“金三银四”的春招,狂刷一个月的题,狂补超多的漏洞知识,像这次美团面试问的算法、数据库、Redis、设计模式等这些题目都是我刷到过的

并且我也将自己刷的题全部整理成了PDF或者Word文档(含详细答案解析)

我的美团offer凉凉了?开发工程师(Java岗)三面结束等通知...

66个Java面试知识点

架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)

我的美团offer凉凉了?开发工程师(Java岗)三面结束等通知...

算法刷题(PDF)

我的美团offer凉凉了?开发工程师(Java岗)三面结束等通知...

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
或者Word文档(含详细答案解析)**

[外链图片转存中…(img-H3Ia6FBP-1714670721245)]

66个Java面试知识点

架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)

[外链图片转存中…(img-XYnYM2y0-1714670721246)]

算法刷题(PDF)

[外链图片转存中…(img-3TKExvEf-1714670721246)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值