经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Spring Boot » 查看文章
使用Spring Boot实现操作数据库的接口的过程
来源:jb51  时间:2021/7/21 18:17:43  对本文有异议

一、Spring Boot原理

用户从页面前端,也就是我们所说的 view 层进行查询访问,进入到 controller 层找到对应的接口,接 着 controller 进行对 service 层进行业务功能的调用,service 要进入 dao 层查询数据,dao 层调用 mapper.xml 文件生成 sql 语句到数据库中进行查询

在这里插入图片描述

二、实现过程

2.1、准备数据库user表插入四条数据

在这里插入图片描述

2.2、model下创建一个User类

与数据库的字段一一对应

  1. @Getter @Setter
  2. public class User {
  3. private int id;
  4. private String username;
  5. private String password;
  6. private int age;
  7. }

2.3、dao下创建一个UserDao接口

@Repository注解修饰哪个类,则表明这个类具有对对象进行CRUD(增删改查)的功能

  1. @Repository
  2. public interface UserDao {
  3. public User getUserById(@Param("id") int id);
  4. public List<User> getUserByAge(@Param("age") int age);
  5. public List<User> getUserByName(@Param("username") String username);
  6. public int insertUser(@RequestBody User user);
  7.  
  8. }

通过UserMapping.xml配置文件实现UserDao接口

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.example.demo.dao.UserDao">
  6. <select id="getUserById" resultType="User">
  7. select * from `user` where id=#{id}
  8. </select>
  9. <select id="getUserByAge" resultType="User">
  10. select * from `user` where age=#{age}
  11. </select>
  12. <select id="getUserByName" resultType="User">
  13. select * from `user` where username like concat('%',#{username},'%')
  14. </select>
  15.  
  16. <insert id="insertUser" parameterType="User">
  17. <selectKey keyProperty="id" order="AFTER" resultType="int">
  18. SELECT LAST_INSERT_ID()
  19. </selectKey>
  20. insert into user (username, password, age)
  21. values (#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})
  22. </insert>
  23. </mapper>

2.4、Service下创建一个UserService接口

  1. public interface UserService {
  2. public User queryUserById(int id);
  3. public List<User> queryUserByAge(int age);
  4. public List<User> queryUserByName(String username);
  5. public int insertUser(User user);
  6. }

再创建一个UserServiceImpl实现UserService

  1. @Service
  2. public class UserSeviceImpl implements UserService {
  3. @Autowired
  4. private UserDao userDao;
  5.  
  6. @Override
  7. public User queryUserById(int id) {
  8. return userDao.getUserById(id);
  9. }
  10.  
  11. @Override
  12. public List<User> queryUserByAge(int age) {
  13. return userDao.getUserByAge(age);
  14. }
  15.  
  16. @Override
  17. public List<User> queryUserByName(String username) {
  18. return userDao.getUserByName(username);
  19. }
  20.  
  21. @Override
  22. public int insertUser(User user) {
  23. return userDao.insertUser(user);
  24. }
  25. }

2.5、controller下创建一个UserController

@GetMapping是代表该查询接口用的是get方式
@RequestMapping(value="/insert",method = RequestMethod.POST)代表该插入接口用post方式

  1. @RestController
  2. public class UserController {
  3.  
  4. @Autowired
  5. private UserService userService;
  6.  
  7. @GetMapping("/userid")
  8. public User getUserById(@RequestParam("id") int id){
  9. return userService.queryUserById(id);
  10. }
  11.  
  12. @GetMapping("/username")
  13. public List<User> getUserByUsername(@RequestParam("username") String username){
  14. return userService.queryUserByName(username);
  15. }
  16.  
  17. @RequestMapping(value="/insert",method = RequestMethod.POST)
  18. public User insertUser(@RequestBody User user){
  19. int x = userService.insertUser(user);
  20. return user;
  21. }
  22. }

2.6、application.yml文件连接数据库

  1. server:
  2. port: 8080
  3. spring:
  4. datasource:
  5. driver-class-name: com.mysql.cj.jdbc.Driver
  6. url: jdbc:mysql://localhost:3306/testingdev9?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
  7. username: root
  8. password: 123456
  9. mybatis:
  10. mapper-locations:
  11. - classpath:mapper/*.xml
  12. - classpath*:com/**/mapper/*.xml
  13. type-aliases-package: com.example.demo.model

2.7、启动DemoApplication文件

出现Started DemoApplication代表启动成功了

在这里插入图片描述

2.8、使用postman调用接口

如下图根据id查询

在这里插入图片描述

如下图插入数据

在这里插入图片描述

可以看到数据库多了一条数据

在这里插入图片描述

到此这篇关于使用Spring Boot实现操作数据库的接口的过程的文章就介绍到这了,更多相关Spring Boot操作数据库接口内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号