IDEA中用maven连接数据库的教程
#代码知识 发布时间: 2026-01-12
采用原生jdbc方式,maven项目连接数据库

1、数据库准备
2、构建一个原生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 实现类
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{
/**
* 从数据库中取数,须有四个属性
* 数据库驱动,连接数据库的地址,数据库用户名称,数据库密码
*/
List<Province> list = new ArrayList<>();
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
try{
//1、注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2、获取连接对象
conn = DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8","root","root");
//3、获取执行数据的对象
pst= conn.prepareCall("select * from province");
//4、执行sql,获得结果集对象
rs = pst.executeQuery();
//5、把结果集转为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()方法时,出现包找不到的问题,然而在pom.xml中已经配置好jar包,本地maven仓库中也下载好了jar包,maven的Dependencies也存在此jar包。
最终找到原因:查看IDEA安装目录的lib文件夹,可发现存在,包含关于单元测试的jar包,因此导致在构建项目时出现两个jar包,因而报错。解决:
重新导入maven
再次测试 find() 方法,测试成功
代码知识SEO上一篇 : 解决docker容器启动后马上退出的问题
下一篇 : Linux上定位后台服务偶发崩溃的解决方法
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!