IDEA中用maven连接数据库的教程

网友投稿 960 2022-11-13


IDEA中用maven连接数据库的教程

采用原生jdbc方式,maven项目连接数据库

1、数据库准备

2、构建一个原生maven项目

3、配置 pom.xml

xmlns:xsi="http://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">

4.0.0

org.example

Connection_mysql

1.0-SNAPSHOT

UTF-8

mysql

mysql-connector-java

5.1.37

junit

junit

4.12

test

xmlns:xsi="http://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">

4.0.0

org.example

Connection_mysql

1.0-SNAPSHOT

UTF-8

mysql

mysql-connector-java

5.1.37

junit

junit

4.12

test

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 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 findAll() throws Exception{

/**

* 从数据库中取数,须有四个属性

* 数据库驱动,连接数据库的地址,数据库用户名称,数据库密码

*/

List 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 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() 方法,测试成功


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springsecurity 基本使用详解
下一篇:Mybatisplus自动填充实现方式及代码示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~