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

 更新时间:2020年11月18日 09:55:32   作者:山风fly  
这篇文章主要介绍了IDEA中用maven连接数据库的教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

采用原生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() 方法,测试成功

在这里插入图片描述

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

相关文章

  • 深入了解Java方法的重载与重写

    深入了解Java方法的重载与重写

    在最初学习java的时候,人们都知道,java这种面向对象的语言,一共有三大特征,分别是:封装、继承、多态。多态的实现途径有三种:重写、重载、接口实现。本文就来为大家详细讲讲Java方法的重载与重写
    2022-07-07
  • 基于mybatis中test条件中单引号双引号的问题

    基于mybatis中test条件中单引号双引号的问题

    这篇文章主要介绍了基于mybatis中test条件中单引号双引号的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • java实现文件的上传功能

    java实现文件的上传功能

    这篇文章主要为大家详细介绍了java实现文件的上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • SparkStreaming-Kafka通过指定偏移量获取数据实现

    SparkStreaming-Kafka通过指定偏移量获取数据实现

    这篇文章主要为大家介绍了SparkStreaming-Kafka通过指定偏移量获取数据,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 详解Spring如何注入静态变量

    详解Spring如何注入静态变量

    这篇文章主要为大家详细介绍了Spring是如何注入静态变量的,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-06-06
  • POI导出之Excel实现单元格的背景色填充问题

    POI导出之Excel实现单元格的背景色填充问题

    这篇文章主要介绍了POI导出之Excel实现单元格的背景色填充问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • springboot druid数据库连接池连接失败后一直重连的解决方法

    springboot druid数据库连接池连接失败后一直重连的解决方法

    本文主要介绍了springboot druid数据库连接池连接失败后一直重连的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • JavaWeb分页的实现代码实例

    JavaWeb分页的实现代码实例

    这篇文章主要介绍了JavaWeb分页的实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • java解析xml常用的几种方式总结

    java解析xml常用的几种方式总结

    这篇文章主要介绍了java解析xml常用的几种方式总结,有需要的朋友可以参考一下
    2013-11-11
  • IDEA 2020.1.2 安装教程附破解教程详解

    IDEA 2020.1.2 安装教程附破解教程详解

    这篇文章主要介绍了IDEA 2020.1.2 安装教程附带破解教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07

最新评论