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. 如何通过SecureCRT FTP上传下载文件

    通过SecureCRT  FTP方式从一台机器下载文件到另一台机器上: [root@TEST144239 ~]# ftp 10.30.1.25 Connected to 10.30.1.25 (10. ...

  2. Eclipse中新建jsp文件访问页面时乱码问题

    新建.jsp文件,charset和pageEncoding默认是ISO-8859-1,这样的话访问页面时会出现乱码,解决办法:将charset和pageEncoding改为UTF-8(或者GBK/GB ...

  3. [linux] cp: omitting directory `XXX'问题解决

    在linux系统中复制文件夹时提示如下: cp: omitting directory `foldera/' 其中foldera是我要复制的文件夹名,出现该警告的原因是因为foldera目录下还存在目 ...

  4. sql2008 将行转为字符串, 将字符串转为行 互转

    --将行转为字符串 select stuff((select top 20 ','+ QQ from dl_QQ where uiid=1 order by tim desc for xml path ...

  5. HTML 列表

    HTML 支持有序.无序和定义列表 实例 无序列表 本例演示无序列表. 有序列表 本例演示有序列表. (可以在本页底端找到更多实例.) 无序列表 无序列表是一个项目的列表,此列项目使用粗体圆点(典型的 ...

  6. IOS开发小项目—找色块游戏

    1.项目代码: @interface NextViewController () { int r ;//色块层数的全局变量 int m;//后面用于tag值的变化 UIView *view;//色块 ...

  7. DIV中的垂直居中

    <div style="border:0px #ff0000 solid; width:100px;height:380px; line-height:380px; float:lef ...

  8. Maven 和 Ant 的区别?

    Maven 和 Ant 有什么不同呢?在回答这个问题以前,首先要强调一点:Maven 和 Ant 针对构建问题的两个不同方面.Ant 为 Java 技术开发项目提供跨平台构建任务.Maven 本身描述 ...

  9. HDU 3480 division

    题目大意:一个有n个数的集合,现在要求将他分成m+1个子集,对子集i设si表示该集合中最大数与最小数的差的平方.求所有si的和的最小值.n<=10000,m<=5000. 分析:最优解的m ...

  10. SecureCRT上传、下载文件 使用sz与rz命令

    首先安装:apt-get install lrzsz SecureCRT这款SSH客户端软件同时具备了终端仿真器和文件传输功能.比ftp命令方便多了,而且服务器不用再开FTP服务了.rz,sz是便是L ...