JDBC建立/关闭数据库连接

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文件中:

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

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

 1 public class jdbcTools {
 2
 3     //获取数据库连接
 4     public static Connection getConnection() throws Exception {
 5         Connection connection = null;
 6         String driverClass = null;
 7         String url = null;
 8         String user = null;
 9         String password = null;
10
11         InputStream in = jdbcTools.class.getClassLoader().getResourceAsStream("jdbc.properties");//加载配置文件
12         Properties properties = new Properties();
13         properties.load(in);
14
15         driverClass = properties.getProperty("driverClass");
16         url = properties.getProperty("jdbcUrl");
17         user = properties.getProperty("user");
18         password = properties.getProperty("password");
19
20         Class.forName(driverClass);//通过全类名加载驱动类
21         connection = DriverManager.getConnection(url,user,password);//DriverManager可以实现对各个数据库驱动类的同一管理,并获取数据库的连接
22
23         return connection;
24
25     }
26
27     //关闭资源
28     public static void releaseResource(Statement statement,Connection connection){
29         if(statement != null){
30             try{
31                 statement.close();
32             }catch (Exception e){
33                 e.printStackTrace();
34             }
35         }
36         if(connection != null){
37             try{
38                 connection.close();
39             }catch (Exception e1){
40                 e1.printStackTrace();
41             }
42         }
43     }
44
45     public static void releaseResource(ResultSet resultSet,Statement statement, Connection connection){
46
47         if(resultSet != null){
48             try{
49                 resultSet.close();
50             }catch (Exception e){
51                 e.printStackTrace();
52             }
53         }
54         if(statement != null){
55             try{
56                 statement.close();
57             }catch (Exception e){
58                 e.printStackTrace();
59             }
60         }
61         if(connection != null){
62             try{
63                 connection.close();
64             }catch (Exception e1){
65                 e1.printStackTrace();
66             }
67         }
68     }
时间: 2024-08-28 04:19:10

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

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

// Jdbc关闭数据库连接时,会隐含一个提交事务的操作 private final static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver"; private final static String DB_CONNECTION = "jdbc:oracle:thin:@127.0.0.1:1521:mydb01"; private final static String DB_NAME = "

jdbc建立数据库连接的helloword

目录结构 package com.imooc.db; import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException; import com.mysql.jdbc.Connection;import com.mysql.jdbc.Statement; public class DBUtil { //数据库连接地址 private static final String URL = "jdbc

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

前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误. Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too man

JDBC 获取 Oracle 数据库连接(使用 Driver)

获取数据库连接的方法: 1. Driver 接口: ?Java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口.这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现 ?在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现 2. 加载与注册JDBC 驱动: ?加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名

JDBC 线程安全 数据库连接池

jdbc 是线程安全的,但是,推荐一个线程用一个链接 JDBC is thread safe: It is quite OK to pass the various JDBC objects between threads. For example, you can create the connection in one thread; another thread can use this connection to create a PreparedStatement and a thir

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

# HSQLDB #jdbc.driverClassName=org.hsqldb.jdbcDriver #jdbc.url=jdbc:hsqldb:hsql://localhost:9001/bookstore #jdbc.username=sa #jdbc.password= # MySQL jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test jdbc.username=ro

C#打开关闭数据库连接

一.忘记sqlserver密码时,运行语句,可修改密码,记得查看账户是否被禁用 EXECUTE sp_password NULL,'输入新密码','sa': 二.代码:data source一定要加上sqlexpress            SqlConnection conn = new SqlConnection("server=localhost;Data Source=.\\SQLEXPRESS;database=doc;user=sa;password=123456"); 

工作,忘记关闭数据库连接导致数据被锁住,解决这种( ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction)

mysql: 先show full processlist;查看sleep的id然后select * from information_schema.innodb_trx;找到记录的trx_mysql_thread_id与前一张表比对最后杀死kill 2542 注意:2542=id=trx_mysql_thread_id

Jmeter JDBC Request--测试数据库连接 拒绝解决方案

有时会遇到回应信息如下: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'10.0.1.23' (using password: YES)) 这是数据库拒绝远程用户连接权限 解决方案: 在远程服务器的MySql中修改用户授权 如:授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限): mysql>grant all privileges on testDB.* to [email