最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot用JdbcTemplates操作Mysql實(shí)例代碼詳解

 更新時(shí)間:2022年10月31日 08:46:26   作者:showswoller  
JdbcTemplate是Spring框架自帶的對(duì)JDBC操作的封裝,目的是提供統(tǒng)一的模板方法使對(duì)數(shù)據(jù)庫(kù)的操作更加方便、友好,效率也不錯(cuò),這篇文章主要介紹了SpringBoot用JdbcTemplates操作Mysql

覺(jué)得有幫助或需要源碼請(qǐng)點(diǎn)贊關(guān)注收藏后評(píng)論區(qū)留言或者私信

JDBC模板是Spring對(duì)數(shù)據(jù)庫(kù)的操作再JDBC基礎(chǔ)上做了封裝,建立了一個(gè)JDBC存取框架,在Spring Boot應(yīng)用中,如果使用JdbcTemplate操作數(shù)據(jù)庫(kù),那么只需要在pom.xml文件中添加spring-boot-starter-jdbc模塊,即可通過(guò)@Autowired注解依賴注入JdbcTemplate對(duì)象,然后調(diào)用JdbcTemplate提供的方法操作數(shù)據(jù)庫(kù)

下面通過(guò)實(shí)例講解如何在Spring Boot應(yīng)用中使用JdbcTemplate操作數(shù)據(jù)庫(kù)

1、創(chuàng)建Spring Boot Web應(yīng)用

此處不再贅述 詳情可參考我這篇構(gòu)建Spring Boot應(yīng)用

2、修改pom.xml文件

在文件中添加MYSQL連接器和spring-boot-starter-jdbc模塊 具體代碼如下

<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
-<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>com.ch</groupId>
<artifactId>ch6_5</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ch6_5</name>
<description>Demo project for Spring Boot</description>
-<properties>
<java.version>11</java.version>
</properties>
-<dependencies>
-<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 添加MySQL依賴 -->
-<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
<!-- MySQL8.x時(shí),請(qǐng)使用8.x的連接器 -->
</dependency>
<!-- 添加jdbc依賴 -->
-<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
-<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
-<build>
-<plugins>
-<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

3、設(shè)置Web應(yīng)用的上下文路徑以及數(shù)據(jù)源配置信息

在application.properties文件中配置如下內(nèi)容

server.servlet.context-path=/ch6_5
###
##數(shù)據(jù)源信息配置
###
#數(shù)據(jù)庫(kù)地址
spring.datasource.url=jdbc:mysql://localhost:3306/springbootjpa?characterEncoding=utf8
#數(shù)據(jù)庫(kù)MySQL為8.x時(shí),url為jdbc:mysql://localhost:3306/springbootjpa?useSSL=false&serverTimezone=Asia/Beijing&characterEncoding=utf-8
#數(shù)據(jù)庫(kù)用戶名
spring.datasource.username=root
#數(shù)據(jù)庫(kù)密碼
spring.datasource.password=root
#數(shù)據(jù)庫(kù)驅(qū)動(dòng)
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#數(shù)據(jù)庫(kù)MySQL為8.x時(shí),驅(qū)動(dòng)類為com.mysql.cj.jdbc.Driver
spring.jackson.serialization.indent-output=true  
#讓控制器輸出的JSON字符串格式更美觀

4、創(chuàng)建實(shí)體類

創(chuàng)建名為com.ch.ch6_5.entity的包 并在該包中出啊關(guān)鍵MyUser實(shí)體類 代碼如下

package com.ch.ch6_5.entity;
public class MyUser {
	private Integer id;
	private String username;
	private String password;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}

5、創(chuàng)建數(shù)據(jù)訪問(wèn)層

創(chuàng)建名為com.ch.ch6_5.repository的包 并創(chuàng)建接口和其實(shí)現(xiàn)類

接口代碼如下

package com.ch.ch6_5.repository;
import java.util.List;
import com.ch.ch6_5.entity.MyUser;
public interface MyUserRepository {
	public int saveUser(MyUser myUser);
	public int deleteUser(Integer id);
	public int updateUser(MyUser myUser);
	public List<MyUser> findAll();
	public MyUser findUserById(Integer id);
}

實(shí)現(xiàn)類代碼如下

package com.ch.ch6_5.repository;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import com.ch.ch6_5.entity.MyUser;
@Repository
public class MyUserRepositoryImpl implements MyUserRepository{
	@Autowired
	private JdbcTemplate jdbcTemplate;
	@Override
	public int saveUser(MyUser myUser) {
		String sql = "insert into user (username, password) values (?,?)";
		Object args[] = {
				myUser.getUsername(),
				myUser.getPassword()
		};
		return jdbcTemplate.update(sql, args);
	}
	@Override
	public int deleteUser(Integer id) {
		String sql = "delete from user where id = ? ";
		Object args[] = {
				id
		};
		return jdbcTemplate.update(sql, args);
	}
	@Override
	public int updateUser(MyUser myUser) {
		String sql = "update user set username = ?, password = ? where id = ? ";
		Object args[] = {
				myUser.getUsername(),
				myUser.getPassword(),
				myUser.getId()
		};
		return jdbcTemplate.update(sql, args);

6、創(chuàng)建業(yè)務(wù)層

創(chuàng)建名為com.ch.ch6_5.service的包 并創(chuàng)建接口和實(shí)現(xiàn)類

接口代碼如下

package com.ch.ch6_5.service;
import java.util.List;
import com.ch.ch6_5.entity.MyUser;
public interface MyUserService {
	public int saveUser(MyUser myUser);
	public int deleteUser(Integer id);
	public int updateUser(MyUser myUser);
	public List<MyUser> findAll();
	public MyUser findUserById(Integer id);
}

實(shí)現(xiàn)類代碼如下

package com.ch.ch6_5.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ch.ch6_5.entity.MyUser;
import com.ch.ch6_5.repository.MyUserRepository;
@Service
public class MyUserServiceImpl implements MyUserService{
	@Autowired
	private MyUserRepository myUserRepository;
	@Override
	public int saveUser(MyUser myUser) {
 
	public List<MyUser> findAll() {
		return myUserRepository.findAll();
	}
	@Override
	public MyUser findUserById(Integer id) {
		return myUserRepository.findUserById(id);
	}
}

7、創(chuàng)建控制器類

創(chuàng)建名為com.ch.ch6_5.controller的包 并創(chuàng)建MyUserController控制器類

代碼如下

package com.ch.ch6_5.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
im
	public int updateUser(MyUser myUser) {
		return myUserService.updateUser(myUser);
	}
	@RequestMapping("/findAll")
	public List<MyUser> findAll(){
		return myUserService.findAll();
	}
	@RequestMapping("/findUserById")
	public MyUser findUserById(Integer id) {
		return myUserService.findUserById(id);
	}
}

接下來(lái)運(yùn)行Ch65Application主類然后訪問(wèn)http://localhost:8080/ch6_5即可

到此這篇關(guān)于SpringBoot用JdbcTemplates操作Mysql實(shí)例代碼詳解的文章就介紹到這了,更多相關(guān)JdbcTemplates操作Mysql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java ArrayList使用總結(jié)

    Java ArrayList使用總結(jié)

    這篇文章主要介紹了Java ArrayList使用總結(jié),幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • MyBatis框架搭建與代碼解讀分析

    MyBatis框架搭建與代碼解讀分析

    MyBatis是一個(gè)靈活的持久層框架,適合與數(shù)據(jù)庫(kù)交互,支持自定義SQL和高級(jí)映射,這篇文章給大家介紹MyBatis框架搭建與代碼解讀,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Spring Boot中優(yōu)雅的獲取yml文件工具類

    Spring Boot中優(yōu)雅的獲取yml文件工具類

    今天小編就為大家分享一篇關(guān)于Spring Boot中優(yōu)雅的獲取yml文件工具類,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • java圖片識(shí)別文字的方法

    java圖片識(shí)別文字的方法

    這篇文章主要為大家詳細(xì)介紹了java圖片識(shí)別文字的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 1秒鐘實(shí)現(xiàn)Springboot?替換/寫(xiě)入?word文檔里面的文字、圖片功能

    1秒鐘實(shí)現(xiàn)Springboot?替換/寫(xiě)入?word文檔里面的文字、圖片功能

    這篇文章主要介紹了Springboot?替換/寫(xiě)入?word文檔里面的文字、圖片,1秒鐘實(shí)現(xiàn),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Java Calendar類的詳解及使用實(shí)例

    Java Calendar類的詳解及使用實(shí)例

    這篇文章主要介紹了Java Calendar類的詳解及使用實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Java中遇到的For?input?string問(wèn)題解決辦法

    Java中遇到的For?input?string問(wèn)題解決辦法

    這篇文章主要給大家介紹了關(guān)于Java中遇到的For?input?string問(wèn)題的解決辦法,如果出現(xiàn)這樣的異常報(bào)錯(cuò),是指的數(shù)據(jù)轉(zhuǎn)換時(shí)出錯(cuò),文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • java開(kāi)發(fā)中基于JDBC連接數(shù)據(jù)庫(kù)實(shí)例總結(jié)

    java開(kāi)發(fā)中基于JDBC連接數(shù)據(jù)庫(kù)實(shí)例總結(jié)

    這篇文章主要介紹了java開(kāi)發(fā)中基于JDBC連接數(shù)據(jù)庫(kù)的方法,以實(shí)例形式較為詳細(xì)的總結(jié)分析了Java使用JDBC的具體步驟與注意事項(xiàng),并附帶了一個(gè)完整實(shí)例加以說(shuō)明,需要的朋友可以參考下
    2015-11-11
  • IDEA手動(dòng)添加junit4時(shí)出現(xiàn)的問(wèn)題與解決方法

    IDEA手動(dòng)添加junit4時(shí)出現(xiàn)的問(wèn)題與解決方法

    這篇文章主要給大家介紹了關(guān)于IDEA手動(dòng)添加junit4時(shí)出現(xiàn)的問(wèn)題與解決方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 使用GenericObjectPool避免泄漏設(shè)置方法

    使用GenericObjectPool避免泄漏設(shè)置方法

    這篇文章主要為大家介紹了使用GenericObjectPool避免泄漏的設(shè)置方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09

最新評(píng)論

兴海县| 宜兴市| 乃东县| 鞍山市| 东至县| 宜丰县| 宣恩县| 南投市| 黄大仙区| 郸城县| 花垣县| 东安县| 黄梅县| 凤山市| 恩施市| 明光市| 日照市| 疏勒县| 廉江市| 兴隆县| 八宿县| 邵武市| 南康市| 西乡县| 漳平市| 许昌县| 酉阳| 横峰县| 师宗县| 连江县| 米脂县| 玉龙| 馆陶县| 彭水| 马龙县| 依安县| 五寨县| 岐山县| 南城县| 南郑县| 安顺市|