JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC只向各大数据库产商提供统一的驱动接口,具体的实现由各大产商实现,每个数据库产商有不同的实现,但是我们可以利用多态,实现面向接口编程,而不用管数据库产商的具体实现细节。在Java程序中使用具体数据库时,需要先引入对应的jar包。比如mysql对应的mysql-connector-java-5.1.13-bin.jar,如果是oracle等数据库需要引入其他的jar包。

JDBC建立连接(MySQL)

在类路径下建立properties文件,在工具类JDBCTools中加载该文件

在jdbc.properties文件中:

 driverClass = com.mysql.jdbc.Driver  //这一句代表数据库驱动类的全类名
jdbcUrl = jdbc:mysql://localhost:3306/test //这一句是配置需要访问的数据库,test是数据库名
user = root
password = 123

建立数据库连接和关闭连接的工具类jdbcTools

 public class jdbcTools {

     //获取数据库连接
public static Connection getConnection() throws Exception {
Connection connection = null;
String driverClass = null;
String url = null;
String user = null;
String password = null; InputStream in = jdbcTools.class.getClassLoader().getResourceAsStream("jdbc.properties");//加载配置文件
Properties properties = new Properties();
properties.load(in); driverClass = properties.getProperty("driverClass");
url = properties.getProperty("jdbcUrl");
user = properties.getProperty("user");
password = properties.getProperty("password"); Class.forName(driverClass);//通过全类名加载驱动类
connection = DriverManager.getConnection(url,user,password);//DriverManager可以实现对各个数据库驱动类的同一管理,并获取数据库的连接 return connection; } //关闭资源
public static void releaseResource(Statement statement,Connection connection){
if(statement != null){
try{
statement.close();
}catch (Exception e){
e.printStackTrace();
}
}
if(connection != null){
try{
connection.close();
}catch (Exception e1){
e1.printStackTrace();
}
}
} public static void releaseResource(ResultSet resultSet,Statement statement, Connection connection){ if(resultSet != null){
try{
resultSet.close();
}catch (Exception e){
e.printStackTrace();
}
}
if(statement != null){
try{
statement.close();
}catch (Exception e){
e.printStackTrace();
}
}
if(connection != null){
try{
connection.close();
}catch (Exception e1){
e1.printStackTrace();
}
}
}

JDBC建立/关闭数据库连接的更多相关文章

  1. JDBC 关闭数据库连接与自动提交【转】

    // Jdbc关闭数据库连接时,会隐含一个提交事务的操作 private final static String DB_DRIVER = "oracle.jdbc.driver.Oracle ...

  2. 简单实现JDBC自动加载驱动,简化数据连接和关闭数据库连接

    package util; import java.io.File;import java.io.FileInputStream;import java.io.IOException;import j ...

  3. 【JDBC核心】数据库连接池

    数据库连接池 传统模式 使用数据库的传统模式: 在主程序(servlet.beans等)中建立数据库连接: 进行 SQL 操作: 断开数据库连接. 这种模式存在的问题: JDBC 连接数据库的方式(四 ...

  4. EF Core 2.0中Transaction事务会对DbContext底层创建和关闭数据库连接的行为有所影响

    数据库 我们先在SQL Server数据库中建立一个Book表: CREATE TABLE [dbo].[Book]( ,) NOT NULL, ) NULL, ) NULL, ) NULL, [Cr ...

  5. topology进程结束会不会关闭数据库连接

    测试环境:redhat,oracle 11.2.0.3.0 测试目标:当java进程关闭之后,进程的数据库连接会不会被释放,何时被释放 实验证明:在运行topology前,执行 select coun ...

  6. JDBC整合c3p0数据库连接池 解决Too many connections错误

    前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误. Caused by: ...

  7. MySQL 和 JDBC(Java数据库连接)

    1.MySQL 1.1   MySQL简介 a)MySQL是一个开源免费的关系型数据库管理系统. b)默认用户:root c)默认端口号: 2.MySQL常用命令 2.1连接MySQL mysql   ...

  8. JDBC 线程安全 数据库连接池

    jdbc 是线程安全的,但是,推荐一个线程用一个链接 JDBC is thread safe: It is quite OK to pass the various JDBC objects betw ...

  9. jdbc.properties各种数据库连接配置

    # HSQLDB  #jdbc.driverClassName=org.hsqldb.jdbcDriver #jdbc.url=jdbc:hsqldb:hsql://localhost:9001/bo ...

随机推荐

  1. 【linux】linux如何进入单人维护模式修改root密码

  2. bzoj2012: [Ceoi2010]Pin

    Description 给出N(2<=N<=50000)个长度为4的字符串,问有且仅有D(1<=D<=4)处不相同的字符串有几对. Input 第1行: N,D 以下N行每行一 ...

  3. bzoj3034: Heaven Cow与God Bull

    Description __int64 ago,there's a heaven cow called sjy...A god bull named wzc fell in love with her ...

  4. linux常用方法

    同步时间 ntpdate us.pool.ntp.org 查看http的并发请求数及其TCP连接状态 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in ...

  5. 如何在VBA窗体中使用 DataGrid 控件?

    1.下载MSDATGRD.cab,下载路径如下:http://www.findthatzipfile.com/search-10500733-hZIP/winrar-winzip-download-m ...

  6. asp.net中Respons.Write()的用法

    很多时候,我们为了是页面的传输速率更高.很自然回去选择脚本和ajax结合进行传值,在传值如要向页面回传数据时,可能只有一次也会是多次.一次的情况下我们可以很好的用Respons.End()方法来截取我 ...

  7. mssql查询某个值存在某个表里的哪个字段的值里面

    第一步:创建 查询某个值存在某个表里的哪个字段的值里面 的存储过程 create proc spFind_Column_In_DB ( @type int,--类型:1为文字类型.2为数值类型 )-- ...

  8. 【原】sql 查询结果合为一行

    SELECT COUNT(*) AS AllCount,t.AssignedCount,(COUNT(*)-t.AssignedCount) AS UnassignedCountFROM 药品表jOI ...

  9. 5. redis管道, 发布订阅, 模拟队列

    一. 发布订阅 #订阅scribe 127.0.0.1:6379> SUBSCRIBE "channel_1" Reading messages... (press Ctrl ...

  10. Linux 下 MySQL 的彻底卸载和安装配置字符集

    前言: Linux环境下MySQL的安装和配置在网上已经有很多教程了.之所以写这篇文章是因为在配置字符集的时候找了网上的一些教程发现并不能用导致折腾了一阵子.下面的教程均是亲自实践. MySQL的彻底 ...