新建Maven工程

pom.xml

<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.4.0</version>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<!-- 指定jdk -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

数据库信息

driver=com.mysql.cj.jdbc.Driver
jdbcUrl=jdbc:mysql://192.168.8.136:3306/jdbc
user=root
password=root

获取链接

Driver

/**
* Driver 是一个接口: 可以通过 Driver 的实现类对象获取数据库连接
*/
@Test
public void testDriver() throws SQLException {
// 创建 Driver 实现类对象
Driver driver = new com.mysql.cj.jdbc.Driver(); // 准备连接数据库信息: url, user, password
String url = "jdbc:mysql://192.168.8.136:3306/jdbc";
Properties info = new Properties();
info.put("user", "root");
info.put("password", "root"); // 调用 Driver 接口的 connect(url, info) 获取数据库连接
Connection connection = driver.connect(url, info); System.out.println(connection);
} @Test
public void getConnection() throws Exception{
// 读取类路径下的 jdbc.properties 文件
InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
properties.load(in); String driverClass = properties.getProperty("driver");
String jdbcUrl = properties.getProperty("jdbcUrl");
String user = properties.getProperty("user");
String password = properties.getProperty("password"); //通过反射 Driver 对象
Driver driver = (Driver) Class.forName(driverClass).newInstance(); Properties info = new Properties();
info.put("user", user);
info.put("password", password); //通过 Driver 的 connect 方法获取数据库连接
Connection connection = driver.connect(jdbcUrl, info); System.out.println(connection);
}

DriverManager

/**
* DriverManager 是驱动的管理类
* 1). 可以通过重载的 getConnection() 方法获取数据库连接. 较为方便
* 2). 可以同时管理多个驱动程序: 若注册了多个数据库连接, 则调用 getConnection()
* @throws Exception
*/
@Test
public void testDriverManager() throws Exception{
// 准备连接数据库
String driverClass = "com.mysql.cj.jdbc.Driver";
String jdbcUrl = "jdbc:mysql://192.168.8.136/jdbc";
String user = "root";
String password = "root"; // 加载数据库驱动程序(对应的 Driver 实现类中有注册驱动的静态代码块
Class.forName(driverClass);
// 通过 DriverManager 的 getConnection() 方法获取数据库连接
Connection connection = DriverManager.getConnection(jdbcUrl, user, password); System.out.println(connection);
} @Test
public void getConnection2() throws Exception{
Properties properties = new Properties();
InputStream in = this.getClass().getClassLoader().getResourceAsStream("jdbc.properties");
properties.load(in); String driver = properties.getProperty("driver");
String jdbcUrl = properties.getProperty("jdbcUrl");
String user = properties.getProperty("user");
String password = properties.getProperty("password"); // 加载数据库驱动程序(对应的 Driver 实现类中有注册驱动的静态代码块)
Class.forName(driver);
// 通过 DriverManager 的 getConnection() 方法获取数据库连接.
Connection connection = DriverManager.getConnection(jdbcUrl, user, password); System.out.println(connection);
}

oracle官方JDBC文档

1、JDBC-Connection的更多相关文章

  1. Jmeter系列(13)- 数据库操作之JDBC Connection Configuration配置元件、JDBC Request取样器

    Jmeter常见操作数据库场景 准备.制造测试数据 获取.查询测试数据 数据库数据作为参数引用 清理测试环境.删除过程数据 数据库压测 Jmeter操作数据库环境准备 已经安装好的数据库,比如MySq ...

  2. org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection 原因

    org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection 可能出现的原因     ...

  3. Weblogic常见故障常:JDBC Connection Pools(转)

    WebLogic Server中数据库连接池是一个经常出问题的地方,总结一下出问题的原因和解决办法. 一.数据库连接泄漏 此类问题一般都是由于开发人员没有正确关闭数据库连接造成的.比如使用完Conne ...

  4. 十五、JDBC操作数据库

    1.数据库特点 实现数据共享.减少数据的冗余度.数据的独立性.数据集中控制.数据的一致性和可维护性. 2.数据库种类和功能 (1)层次型数据库:类似于树结构,是一组通过链接而互相联系在一起的记录. ( ...

  5. Weblogic常见故障一:JDBC Connection Pools

    最近系统老是出现数据库连接池不够用的问题,由于weblogic数据源里没有配置JDBC连接数,取的是默认值15,太小导致connection耗尽,是不是就报一堆错.后来通过修改WebLogic数据源配 ...

  6. [原理][来源解析]spring于@Transactional,Propagation.SUPPORTS,以及 Hibernate Session,以及jdbc Connection关联

    Spring 捆绑Hibernate. 夹: 一.  1. Spring 怎样处理propagation=Propagation.SUPPORTS? 2. Spring 何时生成HibernateSe ...

  7. Caused by:org.hibernate.HibernateException:Unable to make JDBC Connection

    1.错误描述 Caused by:org.hibernate.HibernateException:Unable to make JDBC Connection[jdbc\:mysql\://loca ...

  8. JAVAEE——Mybatis第一天:入门、jdbc存在的问题、架构介绍、入门程序、Dao的开发方法、接口的动态代理方式、SqlMapConfig.xml文件说明

    1. 学习计划 第一天: 1.Mybatis的介绍 2.Mybatis的入门 a) 使用jdbc操作数据库存在的问题 b) Mybatis的架构 c) Mybatis的入门程序 3.Dao的开发方法 ...

  9. jdbc连接oracle时报错 Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableC

    错误: Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; ...

  10. Could not get JDBC connection

    想学习下JavaWeb,手头有2017年有活动的时候买的一本书,还是全彩的,应该很适合我这种菜鸟技术渣. 只可惜照着书搭建了一套Web环境,代码和db脚本都是拷贝的光盘里的,也反复检查了数据库的连接情 ...

随机推荐

  1. python3_字符串

    一.字符串的表示 >>> s = "narjaja never give up" #字符串的创建和初始化 >>> s = 'narjaja ne ...

  2. fasterxml.jackson 将对象转换为json报错处理

    最近在做查询的数据遇到如下报错: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found ...

  3. 在做销售录入界面时,如何使用dbgrid?(50分)

    给你段源码看一看用stringgird做得: procedure Tfrmingoods.adddata ; var i:integer; begin do begin ,i])=trim(goods ...

  4. 常见的HTTP报头(头参数)

    本内容摘抄自<RESTful WebServices> 中文译本附录C '常见的HTTP报头'. 原文作者:Leonard Ricbardson & Sam Ruby 翻译:徐涵. ...

  5. xhtml和html的差別

    xhtml和html主要區別: 元素必須正確嵌套: 元素必須正確閉合: 必須要有根元素: 元素必須使用小寫. xhtml語法: 屬性名必須小寫: 屬性值必須帶引號: 使用id代替name: lang屬 ...

  6. Java之List使用方法

    package basic; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; impor ...

  7. UVALive5876-Writings on the Wall-KMP

    有两段字符串,第一段的尾和第二段的头可能重合.问有多少种组合的可能. 需要理解一下next数组的意义. #include <cstdio> #include <cstring> ...

  8. Codeforces976E Well played! 【贪心】

    题目分析: 由于乘二的收获很大,所以我们可以证明乘的数一定是同一个,接着排序后依次选取,判断一下即可. 题目代码: #include<bits/stdc++.h> using namesp ...

  9. day10 局部变量 全局变量 作用域前奏

    规则命名以及基本介绍 name="LHF" # 顶头写的全局都可以调用的就是全局变量,命名规则要求大写全局变量 def chang_name(): # global name # ...

  10. ecplise debug 无法命中断点 一直在加载中

    发生原因:可能是特殊关闭了Ecplise 导致 1.这个是没问题的,网上大部分都说这个问题 2.删除所有断点再来(试了无效) 3.删除  X:\workspace\.metadata\.plugins ...