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

二、實(shí)現(xiàn)過程
2.1、準(zhǔn)備數(shù)據(jù)庫user表插入四條數(shù)據(jù)

2.2、model下創(chuàng)建一個(gè)User類
與數(shù)據(jù)庫的字段一一對(duì)應(yīng)
@Getter @Setter
public class User {
private int id;
private String username;
private String password;
private int age;
}
2.3、dao下創(chuàng)建一個(gè)UserDao接口
@Repository注解修飾哪個(gè)類,則表明這個(gè)類具有對(duì)對(duì)象進(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配置文件實(shí)現(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)建一個(gè)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)建一個(gè)UserServiceImpl實(shí)現(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)建一個(gè)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、啟動(dòng)DemoApplication文件
出現(xiàn)Started DemoApplication代表啟動(dòng)成功了

2.8、使用postman調(diào)用接口
如下圖根據(jù)id查詢

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

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

到此這篇關(guān)于使用Spring Boot實(shí)現(xiàn)操作數(shù)據(jù)庫的接口的過程的文章就介紹到這了,更多相關(guān)Spring Boot操作數(shù)據(jù)庫接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java?獲取Zookeeper節(jié)點(diǎn)下所有數(shù)據(jù)詳細(xì)步驟
本文介紹了如何使用Java獲取ZooKeeper節(jié)點(diǎn)下所有數(shù)據(jù),實(shí)際應(yīng)用示例中,我們演示了如何從ZooKeeper節(jié)點(diǎn)下獲取配置信息并輸出到控制臺(tái),ZooKeeper是一個(gè)開源的分布式協(xié)調(diào)服務(wù),適用于分布式系統(tǒng)中的數(shù)據(jù)同步、配置管理、命名服務(wù)等功能,感興趣的朋友一起看看吧2024-11-11
java連接mongoDB并進(jìn)行增刪改查操作實(shí)例詳解
這篇文章主要介紹了java連接mongoDB并進(jìn)行增刪改查操作,結(jié)合實(shí)例形式詳細(xì)分析了java環(huán)境下MongoDB擴(kuò)展包的下載、安裝及操作MongoDB連接、增刪改查等相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
springboot集成Mybatis-plus-join-boot-start詳解
這篇文章主要介紹了springboot集成Mybatis-plus-join-boot-start方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Java 實(shí)現(xiàn)緩存的三種方式及問題匯總
這篇文章主要介紹了Java 實(shí)現(xiàn)緩存的三種方式及問題匯總,HashMap實(shí)現(xiàn)緩存,可以實(shí)現(xiàn)簡單的本地緩存,但是實(shí)際開發(fā)中不推薦,我們可以簡單模擬一下緩存的實(shí)現(xiàn),本文通過示例代碼介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-03-03
Springboot PostMapping無法獲取數(shù)據(jù)問題及解決
這篇文章主要介紹了Springboot PostMapping無法獲取數(shù)據(jù)問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
使用JAXBContext 設(shè)置xml節(jié)點(diǎn)屬性
這篇文章主要介紹了使用JAXBContext 設(shè)置xml節(jié)點(diǎn)屬性的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
springboot循環(huán)依賴問題案例代碼及解決辦法
在 Spring Boot 中,如果兩個(gè)或多個(gè) Bean之間存在循環(huán)依賴(即 Bean A 依賴 Bean B,而 Bean B 又依賴 Bean A),會(huì)導(dǎo)致 Spring 的依賴注入機(jī)制無法正確處理,從而拋出異常,下面給大家介紹springboot循環(huán)依賴問題及其解決辦法,感興趣的朋友一起看看吧2025-04-04

