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

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

1、数据库准备

IDEA中用maven连接数据库的教程_第1张图片

2、构建一个原生maven项目

IDEA中用maven连接数据库的教程_第2张图片
IDEA中用maven连接数据库的教程_第3张图片

3、配置 pom.xml



  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、编写代码

IDEA中用maven连接数据库的教程_第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中用maven连接数据库的教程_第5张图片
IDEA中用maven连接数据库的教程_第6张图片

最终找到原因:查看IDEA安装目录的lib文件夹,可发现存在,包含关于单元测试的jar包,因此导致在构建项目时出现两个jar包,因而报错。解决:

IDEA中用maven连接数据库的教程_第7张图片
IDEA中用maven连接数据库的教程_第8张图片

重新导入maven

IDEA中用maven连接数据库的教程_第9张图片

再次测试 find() 方法,测试成功

IDEA中用maven连接数据库的教程_第10张图片

到此这篇关于IDEA中用maven连接数据库的教程的文章就介绍到这了,更多相关IDEA用maven连接数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的