一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

2021-10-18 13:29ouyangsong_pass_fail Java教程

本文給大家分享使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程,包括springboot原理解析及實例代碼詳解,感興趣的朋友跟隨小編一起看看吧

一、Spring Boot原理

用戶從頁面前端,也就是我們所說的 view 層進(jìn)行查詢訪問,進(jìn)入到 controller 層找到對應(yīng)的接口,接 著 controller 進(jìn)行對 service 層進(jìn)行業(yè)務(wù)功能的調(diào)用,service 要進(jìn)入 dao 層查詢數(shù)據(jù),dao 層調(diào)用 mapper.xml 文件生成 sql 語句到數(shù)據(jù)庫中進(jìn)行查詢

使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

二、實現(xiàn)過程

2.1、準(zhǔn)備數(shù)據(jù)庫user表插入四條數(shù)據(jù)

使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

2.2、model下創(chuàng)建一個User類

與數(shù)據(jù)庫的字段一一對應(yīng)

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

2.3、dao下創(chuàng)建一個UserDao接口

@Repository注解修飾哪個類,則表明這個類具有對對象進(jìn)行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配置文件實現(xiàn)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下創(chuàng)建一個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);
}

再創(chuàng)建一個UserServiceImpl實現(xiàn)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下創(chuàng)建一個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文件連接數(shù)據(jù)庫

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文件

出現(xiàn)Started DemoApplication代表啟動成功了

使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

2.8、使用postman調(diào)用接口

如下圖根據(jù)id查詢

使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

如下圖插入數(shù)據(jù)

使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

可以看到數(shù)據(jù)庫多了一條數(shù)據(jù)

使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

到此這篇關(guān)于使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程的文章就介紹到這了,更多相關(guān)Spring Boot操作數(shù)據(jù)庫接口內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/qq_39537481/article/details/118884915

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7472021-02-04
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java實現(xiàn)搶紅包功能

    Java實現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發(fā)項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
主站蜘蛛池模板: 免费看一区二区三区 | 国产午夜永久福利视频在线观看 | 人与善xuanwen在线400 | 本站只有精品 | 日本嫩小xxxxhd | 国产精品美女久久久久 | hh99me福利毛片 | 国产精品自在线 | 日韩aaa| 成人精品一区二区三区 | 97操 | 男生同性视频twink在线 | 唯美 清纯 另类 亚洲制服 | 清纯漂亮女友初尝性过程 | 人人最怕九月羊 | 亚洲精品视频网 | 狠狠干2016| 日本视频高清 | 好大好深视频 | 高清视频大片免费观看 | 暖暖的视频完整视频韩国免费 | 亚州精品永久观看视频 | 日本免费看| 91大神在线精品播放 | 98在线视频噜噜噜国产 | 啪一啪日一日 | 99久久国语露脸精品国产 | a∨79成人网| 亚洲国产果果在线播放在线 | 久久亚洲精品AV成人无 | 咪咪爱网友自拍 | 亚洲国产综合久久精品 | 欧美二区三区 | uoco福利姬网站 | 3x免费高清视频 | 亚洲精品第二页 | 无人区国产大片 | 久久久WWW免费人成精品 | 果冻传媒在线观看的 | 亚洲欧美成人综合在线 | 7个黑人玩北条麻妃 |