IDEA中用maven連接數(shù)據(jù)庫的教程
采用原生jdbc方式,maven項(xiàng)目連接數(shù)據(jù)庫
1、數(shù)據(jù)庫準(zhǔn)備

2、構(gòu)建一個原生maven項(xiàng)目


3、配置 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Connection_mysql</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
4、編寫代碼

4.1、具體類
Province.java
package cn.she.domain;
public class Province {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4.2、DAO層
ProvinceDao.java 接口
package cn.she.dao;
import cn.she.domain.Province;
import java.util.List;
public interface ProvinceDao {
public List<Province> findAll() throws Exception;
}
ProvinceDaoImpl.java 實(shí)現(xiàn)類
package cn.she.dao.impl;
import cn.she.dao.ProvinceDao;
import cn.she.domain.Province;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class ProvinceDaoImpl implements ProvinceDao {
@Override
public List<Province> findAll() throws Exception{
/**
* 從數(shù)據(jù)庫中取數(shù),須有四個屬性
* 數(shù)據(jù)庫驅(qū)動,連接數(shù)據(jù)庫的地址,數(shù)據(jù)庫用戶名稱,數(shù)據(jù)庫密碼
*/
List<Province> list = new ArrayList<>();
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
try{
//1、注冊驅(qū)動
Class.forName("com.mysql.jdbc.Driver");
//2、獲取連接對象
conn = DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8","root","root");
//3、獲取執(zhí)行數(shù)據(jù)的對象
pst= conn.prepareCall("select * from province");
//4、執(zhí)行sql,獲得結(jié)果集對象
rs = pst.executeQuery();
//5、把結(jié)果集轉(zhuǎn)為java的List集合
while(rs.next()){
Province p = new Province();
p.setId(rs.getInt("id"));
p.setName(rs.getString("name"));
list.add(p);
}
}catch(Exception e){
e.printStackTrace();
}finally{
conn.close();
pst.close();
rs.close();
}
return list;
}
}
4.3、測試
ProvinceTest.java
package cn.she.test;
import cn.she.dao.ProvinceDao;
import cn.she.dao.impl.ProvinceDaoImpl;
import cn.she.domain.Province;
import org.junit.Test;
import java.util.List;
public class ProvinceTest {
@Test
public void find() throws Exception {
ProvinceDao dao = new ProvinceDaoImpl();
List<Province> list = dao.findAll();
for(Province p : list){
System.out.println(p.getId()+" : "+p.getName());
}
}
}
5、問題-Error:(6, 17) java: 程序包org.junit不存在 測試find()方法時(shí),出現(xiàn)包找不到的問題,然而在pom.xml中已經(jīng)配置好jar包,本地maven倉庫中也下載好了jar包,maven的Dependencies也存在此jar包。


最終找到原因:查看IDEA安裝目錄的lib文件夾,可發(fā)現(xiàn)存在,包含關(guān)于單元測試的jar包,因此導(dǎo)致在構(gòu)建項(xiàng)目時(shí)出現(xiàn)兩個jar包,因而報(bào)錯。解決:


重新導(dǎo)入maven

再次測試 find() 方法,測試成功

到此這篇關(guān)于IDEA中用maven連接數(shù)據(jù)庫的教程的文章就介紹到這了,更多相關(guān)IDEA用maven連接數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java?Git?Commit?Message使用規(guī)范
這篇文章主要介紹了Java?Git?Commit?Message使用規(guī)范,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-08-08
Spring中的@ExceptionHandler異常攔截器
這篇文章主要介紹了Spring中的@ExceptionHandler異常攔截器,Spring的@ExceptionHandler可以用來統(tǒng)一處理方法拋出的異常,給方法加上@ExceptionHandler注解,這個方法就會處理類中其他方法拋出的異常,需要的朋友可以參考下2024-01-01
SpringBoot?Test的webEnvironment源碼解讀
這篇文章主要為大家介紹了SpringBoot?Test的webEnvironment源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
JavaEE中用response向客戶端輸出中文數(shù)據(jù)亂碼問題分析
這篇文章主要介紹了JavaEE中用response向客戶端輸出中文數(shù)據(jù)亂碼問題分析,需要的朋友可以參考下2014-10-10
IDEA創(chuàng)建方法時(shí)如何快速添加注釋
這篇文章主要介紹了IDEA創(chuàng)建方法時(shí)如何快速添加注釋問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
使用@PathVariable時(shí)候無法將參數(shù)映射到變量中的解決
這篇文章主要介紹了使用@PathVariable時(shí)候無法將參數(shù)映射到變量中的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
使用Spring自定義實(shí)現(xiàn)IOC和依賴注入(注解方式)
這篇文章主要介紹了使用Spring自定義實(shí)現(xiàn)IOC和依賴注入(注解方式),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08

