使用Spring Boot实现操作数据库的接口的过程

 更新时间:2021年07月21日 14:44:06   作者:ouyangsong_pass_fail  
本文给大家分享使用Spring Boot实现操作数据库的接口的过程,包括springboot原理解析及实例代码详解,感兴趣的朋友跟随小编一起看看吧

一、Spring Boot原理

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

在这里插入图片描述

二、实现过程

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

在这里插入图片描述

2.2、model下创建一个User类

与数据库的字段一一对应

@Getter @Setter
public class User {
    private int id;
    private String username;
    private String password;
    private int age;
}

2.3、dao下创建一个UserDao接口

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

@Repository
public interface UserDao {
    public User getUserById(@Param("id") int id);
    public List<User> getUserByAge(@Param("age") int age);
    public List<User> getUserByName(@Param("username") String username);
    public int insertUser(@RequestBody User user);

}

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

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.UserDao">
    <select id="getUserById" resultType="User">
        select * from `user` where id=#{id}
    </select>
    <select id="getUserByAge" resultType="User">
        select * from `user` where age=#{age}
    </select>
    <select id="getUserByName" resultType="User">
        select * from `user` where username like concat('%',#{username},'%')
    </select>

    <insert id="insertUser" parameterType="User">
        <selectKey keyProperty="id" order="AFTER" resultType="int">
            SELECT LAST_INSERT_ID()
        </selectKey>
        insert into user (username, password, age)
        values (#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})
    </insert>
</mapper>

2.4、Service下创建一个UserService接口

public interface UserService {
    public User queryUserById(int id);
    public List<User> queryUserByAge(int age);
    public List<User> queryUserByName(String username);
    public int insertUser(User user);
}

再创建一个UserServiceImpl实现UserService

@Service
public class UserSeviceImpl implements UserService {
    @Autowired
    private UserDao userDao;

    @Override
    public User queryUserById(int id) {
        return userDao.getUserById(id);
    }

    @Override
    public List<User> queryUserByAge(int age) {
        return userDao.getUserByAge(age);
    }

    @Override
    public List<User> queryUserByName(String username) {
        return userDao.getUserByName(username);
    }

    @Override
    public int insertUser(User user) {
        return userDao.insertUser(user);
    }
}

2.5、controller下创建一个UserController

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

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/userid")
    public User getUserById(@RequestParam("id") int id){
        return userService.queryUserById(id);
    }

    @GetMapping("/username")
    public List<User> getUserByUsername(@RequestParam("username") String username){
        return userService.queryUserByName(username);
    }

    @RequestMapping(value="/insert",method = RequestMethod.POST)
    public User insertUser(@RequestBody User user){
        int x = userService.insertUser(user);
        return user;
    }
}

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

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

2.7、启动DemoApplication文件

出现Started DemoApplication代表启动成功了

在这里插入图片描述

2.8、使用postman调用接口

如下图根据id查询

在这里插入图片描述

如下图插入数据

在这里插入图片描述

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

在这里插入图片描述

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

相关文章

  • 详解spring boot容器加载完后执行特定操作

    详解spring boot容器加载完后执行特定操作

    这篇文章主要介绍了详解spring boot容器加载完后执行特定操作,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • SpringBoot接入轻量级分布式日志框架(GrayLog)的操作方法

    SpringBoot接入轻量级分布式日志框架(GrayLog)的操作方法

    这篇文章主要介绍了SpringBoot接入轻量级分布式日志框架(GrayLog)的方法,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Java之使用POI教你玩转Excel导入与导出

    Java之使用POI教你玩转Excel导入与导出

    这篇文章主要介绍了Java之使用POI教你玩转Excel导入与导出,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • SpringBoot中快速实现邮箱发送代码解析

    SpringBoot中快速实现邮箱发送代码解析

    这篇文章主要介绍了SpringBoot中快速实现邮箱发送代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 如何使用 Shell 脚本查看多个服务器的端口是否打开的方法

    如何使用 Shell 脚本查看多个服务器的端口是否打开的方法

    这篇文章主要介绍了如何使用 Shell 脚本来查看多个服务器的端口是否打开的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • SpringBoot+MySQL+Jpa实现对数据库的增删改查和分页详解

    SpringBoot+MySQL+Jpa实现对数据库的增删改查和分页详解

    这篇文章主要介绍了SpringBoot+MySQL+Jpa实现对数据库的增删改查和分页详解,需要的朋友可以参考下
    2020-02-02
  • 详解Java中自定义注解的使用

    详解Java中自定义注解的使用

    Annontation是Java5开始引入的新特征,中文名称叫注解,它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。本文主要介绍了自定义注解的使用,希望对大家有所帮助
    2023-03-03
  • JavaMail整合Spring实现邮件发送功能

    JavaMail整合Spring实现邮件发送功能

    这篇文章主要为大家详细介绍了JavaMail整合Spring实现邮件发送功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Java反射中java.beans包学习总结

    Java反射中java.beans包学习总结

    本篇文章通过学习Java反射中java.beans包,吧知识点做了总结,并把相关内容做了关联,对此有需要的朋友可以学习参考下。
    2018-02-02
  • Java如何获取静态资源文件路径

    Java如何获取静态资源文件路径

    这篇文章主要介绍了Java如何获取静态资源文件路径问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06

最新评论