IDEA中用maven連接數(shù)據(jù)庫的教程
采用原生jdbc方式,maven項目連接數(shù)據(jù)庫
1、數(shù)據(jù)庫準(zhǔn)備
2、構(gòu)建一個原生maven項目
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 實現(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()方法時,出現(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àn)兩個jar包,因而報錯。解決:
重新導(dǎo)入maven
再次測試 find() 方法,測試成功
到此這篇關(guān)于IDEA中用maven連接數(shù)據(jù)庫的教程的文章就介紹到這了,更多相關(guān)IDEA用maven連接數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MyBatis-Plus介紹及Spring Boot 3集成指南
本文介紹了MyBatis-Plus的基本特性及其與Spring Boot 3的集成步驟,通過使用MyBatis-Plus,開發(fā)者可以快速地搭建和開發(fā)數(shù)據(jù)訪問層,同時提高代碼質(zhì)量和開發(fā)效率,感興趣的朋友一起看看吧2024-05-05SpringCloud使用Feign實現(xiàn)服務(wù)調(diào)用
這篇文章主要為大家詳細(xì)介紹了SpringCloud使用Feign實現(xiàn)服務(wù)調(diào)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04springboot如何通過@Value,@ConfigurationProperties獲取配置
這篇文章主要介紹了springboot如何通過@Value,@ConfigurationProperties獲取配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03Java Swing組件JFileChooser用法實例分析
這篇文章主要介紹了Java Swing組件JFileChooser用法,結(jié)合實例形式分析了java Swing組件JFileChooser文件選擇器的功能、使用方法及相關(guān)注意事項,需要的朋友可以參考下2017-11-11