一、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操作数据库接口内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!