Spring連接Mysql數(shù)據(jù)庫(kù)全過(guò)程
Spring連接Mysql數(shù)據(jù)庫(kù)
創(chuàng)建一個(gè)Maven項(xiàng)目

導(dǎo)入坐標(biāo)
在pom.xml加入如下坐標(biāo),并且點(diǎn)擊右上角刷新。
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;
@Configuration
public class AppConfig {
@Bean
public DataSource dataSource(){
DriverManagerDataSource d = new DriverManagerDataSource() ;
d.setUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC"); //設(shè)置url
// 上述的test為你的數(shù)據(jù)庫(kù)名
d.setUsername("root"); //設(shè)置賬號(hào)
d.setPassword("root"); //設(shè)置密碼
return d;
}
}
托管DataSource類
創(chuàng)建名為AppConfig類。托管DataSource類,加上@Configuration注解。注意設(shè)置所指定的連接數(shù)據(jù)庫(kù)的url,用戶名,和密碼。
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;
@Configuration
public class AppConfig {
@Bean
public DataSource dataSource(){
DriverManagerDataSource d = new DriverManagerDataSource() ;
d.setUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC"); //設(shè)置url
// 上述的test為你的數(shù)據(jù)庫(kù)名
d.setUsername("root"); //設(shè)置賬號(hào)
d.setPassword("root"); //設(shè)置密碼
return d;
}
}
測(cè)試
創(chuàng)建一個(gè)Test類 。通過(guò)DataSource獲取數(shù)據(jù)庫(kù)連接。并且輸出。
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
public class Test {
public static void main(String[] args) throws SQLException {
ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);
DataSource d = (DataSource) ac.getBean("dataSource");
Connection c = d.getConnection(); //獲取連接
System.out.println(c);
}
}控制臺(tái)出現(xiàn)如下代碼,即為連接成功。

Spring和Mysql數(shù)據(jù)庫(kù)的連接及測(cè)試--Jdbc
普遍的開(kāi)發(fā)中, 通常使用會(huì)用到Spring框架和Mysql數(shù)據(jù)庫(kù) , 下面分享個(gè)人的Mysql在Spring中的配置以及它的連接測(cè)試.
本人在開(kāi)發(fā)中 , 使用的是Maven管理工具 . ( 關(guān)于Maven百度有詳細(xì)安裝配置教程, )
創(chuàng)建Maven Web 的java工程
( 本人前面有文章講過(guò)創(chuàng)建Maven Web項(xiàng)目 ), 創(chuàng)建完成后在pom.xml中加入mysql驅(qū)動(dòng)相關(guān)的jar包
pom.xml中的配置為:
?? ?<!-- 數(shù)據(jù)庫(kù)驅(qū)動(dòng) -->
?? ?<dependency>
?? ??? ?<groupId>mysql</groupId>
?? ??? ?<artifactId>mysql-connector-java</artifactId>
?? ??? ?<version>5.1.38</version>
?? ?</dependency>
?? ?
?? ?<!--spring對(duì)jdbc的支持包 -->
?? ?<dependency>
?? ??? ?<groupId>org.springframework</groupId>
?? ??? ?<artifactId>spring-jdbc</artifactId>
?? ??? ?<version>${spring.version}</version>
?? ?</dependency>
?? ?
?? ?<!-- spring連接數(shù)據(jù)庫(kù) -->
?? ?<dependency>
?? ??? ?<groupId>org.springframework</groupId>
?? ??? ?<artifactId>spring-jdbc</artifactId>
?? ??? ?<version>4.3.2.RELEASE</version>
?? ?</dependency>
?? ?
?? ?<!-- spring測(cè)試包 -->
?? ?<dependency>
?? ??? ?<groupId>org.springframework</groupId>
?? ??? ?<artifactId>spring-test</artifactId>
?? ??? ?<version>4.3.2.RELEASE</version>
?? ?</dependency>
?? ?
?? ?<!-- springMVC -->
?? ?<dependency>
?? ??? ?<groupId>org.springframework</groupId>
?? ??? ?<artifactId>spring-webmvc</artifactId>
?? ??? ?<version>4.3.2.RELEASE</version>
?? ?</dependency>
?
?
?? ?<dependency>
?? ??? ?<groupId>org.springframework</groupId>
?? ??? ?<artifactId>spring-context-support</artifactId>
?? ??? ?<version>4.3.2.RELEASE</version>
?? ?</dependency>配置db.properties: ( 這里的屬性值可以直接寫入spring.xml中 ,與 ${ } 的值相對(duì)應(yīng))
<span style="white-space:pre">?? ?</span>#在這里如果引入的mysql jar包為6.0版本 , 驅(qū)動(dòng)值為 : ?com.mysql.cj.jdbc.Driver <span style="white-space:pre">?? ?</span>jdbc.driverClassName=com.mysql.jdbc.Driver <span style="white-space:pre">?? ?</span>jdbc.url=jdbc:mysql://localhost:3306/usersystem <span style="white-space:pre">?? ?</span>jdbc.username=root <span style="white-space:pre">?? ?</span>jdbc.password=111
spring.xml中的配置為:
?? ?<!-- 引入外部的屬性文件 -->
? ? ?? ?<context:property-placeholder location="classpath:db.properties"/>
?
?? ?<!-- jdbc連接設(shè)置 -->
?? ?<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
?? ??? ?<property name="driverClassName" value="${jdbc.driverClassName}" />
?? ??? ?<property name="url" value="${jdbc.url}" />
?? ??? ?<property name="username" value="${jdbc.username}" />
?? ??? ?<property name="password" value="${jdbc.password}" />
?? ?</bean>創(chuàng)建一個(gè)測(cè)試類: ConnTest.java
?? ?package com.lsy.conn.test;
?
?? ?import static org.junit.Assert.assertNotNull;
?
?? ?import java.sql.Connection;
?? ?import java.sql.SQLException;
?
?? ?import javax.sql.DataSource;
?
?? ?import org.junit.Test;
?? ?import org.junit.runner.RunWith;
?? ?import org.springframework.beans.factory.annotation.Autowired;
?? ?import org.springframework.test.context.ContextConfiguration;
?? ?import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
?
?? ?@RunWith(SpringJUnit4ClassRunner.class)
?? ?@ContextConfiguration("classpath:spring.xml")
?? ?public class ConnTest {
?? ?
?? ??? ?@Autowired
?? ??? ?private DataSource dataSource;
?? ?
?? ??? ?@Test
?? ??? ?public void testConn() {
?? ??? ??? ?Connection con = null;
?? ??? ??? ?try {
?? ??? ??? ??? ?con = dataSource.getConnection();
?? ??? ??? ?} catch (SQLException e) {
?? ??? ??? ??? ?throw new RuntimeException("連接失敗!!!", e);
?? ??? ??? ?}
?? ??? ??? ?assertNotNull(con);
?? ??? ?}
?? ?
?? ?}祝大家配置成功!!!
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot系列教程之7步集成RabbitMQ的方法
RabbitMQ 即一個(gè)消息隊(duì)列,主要是用來(lái)實(shí)現(xiàn)應(yīng)用程序的異步和解耦,同時(shí)也能起到消息緩沖,消息分發(fā)的作用。下面這篇文章主要給大家介紹了關(guān)于Spring Boot之7步集成RabbitMQ的相關(guān)資料,需要的朋友可以參考下2018-11-11
Java中冒泡排序的原生實(shí)現(xiàn)方法(正序與逆序)
這篇文章主要給大家介紹了關(guān)于Java中冒泡排序的原生實(shí)現(xiàn)方法(正序與逆序)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Java自動(dòng)生成趨勢(shì)比對(duì)數(shù)據(jù)的方法分享
這篇文章主要和大家分享了一種Java自動(dòng)生成趨勢(shì)比對(duì)數(shù)據(jù)的方法設(shè)計(jì)及實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-04-04
SpringBoot定制化Starter實(shí)現(xiàn)方法
小伙伴們?cè)?jīng)可能都經(jīng)歷過(guò)整天寫著CURD的業(yè)務(wù),都沒(méi)寫過(guò)一些組件相關(guān)的東西,這篇文章記錄一下SpringBoot如何自定義一個(gè)Starter。原理和理論就不用多說(shuō)了,可以在網(wǎng)上找到很多關(guān)于該方面的資料,這里主要分享如何自定義2023-01-01
解決IDEA和CMD中java命令提示錯(cuò)誤: 找不到或無(wú)法加載主類的問(wèn)題
這篇文章主要介紹了解決IDEA和CMD中java命令提示錯(cuò)誤: 找不到或無(wú)法加載主類的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
IDEA創(chuàng)建Maven一直爆紅無(wú)法下載的問(wèn)題解決辦法
這篇文章主要介紹了關(guān)于IDEA創(chuàng)建Maven一直爆紅無(wú)法下載的問(wèn)題的解決辦法,文中圖文結(jié)合的方式給大家講解的非常詳細(xì),對(duì)大家解決辦法非常有用,需要的朋友可以參考下2024-06-06
IDEA導(dǎo)入JDBC驅(qū)動(dòng)的jar包步驟詳解
JDBC是一種底層的API,是連接數(shù)據(jù)庫(kù)和Java應(yīng)用程序的紐帶,因此我們?cè)谠L問(wèn)數(shù)據(jù)庫(kù)時(shí)需要在業(yè)務(wù)邏輯層中嵌入SQL語(yǔ)句,這篇文章主要介紹了IDEA導(dǎo)入JDBC驅(qū)動(dòng)的jar包,需要的朋友可以參考下2023-07-07

