为了更好的了解jdbc,最近查阅了前期学习的资料,整理归纳了一下,整理出来了一套jdbc常用的工具类。之所以在这里撰文,一来可以和大家共享技术的魅力,二来可以方便以后的查阅方便。以下是一个jdbc的优化过的工具类。

 1 package com.java.lish.utils;
2 import java.sql.Connection;
3 import java.sql.DriverManager;
4 import java.sql.ResultSet;
5 import java.sql.SQLException;
6 import java.sql.Statement;
7 import java.util.ResourceBundle;
8
9 /**
10 *
11 * 工具类 可以不依赖具体的数据库的jar 进一步优化 工具类 配置文件 txt xml properties key=value src 下添加配置文件
12 * jdbc.properties Properties p = new Properties(); p.load(inputstream)
13 *
14 * 一行代码读取properties 配置文件信息 ResourceBundle 快速读取 properties 文件信息
15 */
16 public class JDBCUtils {
17 static String url;
18 static String username;
19 static String password;
20 static {
21 // Class.forName("com.mysql.jdbc.Driver");// 实现类的全路径 包名.类名
22 try {
23 Class.forName(ResourceBundle.getBundle("jdbc").getString(
24 "driverClass"));
25 url = ResourceBundle.getBundle("jdbc").getString("url");
26 username = ResourceBundle.getBundle("jdbc").getString("username");
27 password = ResourceBundle.getBundle("jdbc").getString("password");
28 } catch (Exception e) {
29 e.printStackTrace();
30 }// 实现类的全路径
31 }
32
33 // 获取连接 Connection
34 public static Connection getConnection() {
35 try {
36 Connection con = DriverManager.getConnection(url, username,
37 password);
38 return con;
39 } catch (Exception e) {
40 e.printStackTrace();
41 throw new RuntimeException("获取连接失败");
42 }
43 }
44
45 // 关闭资源 st con
46 public static void close(Connection con) {
47 if (con != null) {
48 try {
49 con.close();
50 } catch (SQLException e) {
51 e.printStackTrace();
52 }
53 }
54 }
55
56 // 关闭2个资源
57 public static void close(Connection con, Statement st) {
58 if (st != null) {
59 try {
60 st.close();
61 } catch (SQLException e) {
62 e.printStackTrace();
63 }
64 }
65 close(con);
66
67 }
68
69 // ResultSet 存放数据库查询结果集
70 public static void close(Connection con, Statement st, ResultSet rs) {
71 if (rs != null) {
72 try {
73 rs.close();
74 } catch (SQLException e) {
75 e.printStackTrace();
76 }
77 }
78 close(con, st);
79 }
80
81 }

  首先说明的是以上代码是一个完整的工具包资源,需要配合配置文件(使用myEclipse,放在src文件下)一起使用,当然也要把驱动包放到lib目录下,然后就可以很爽的使用该工具类获取数据连接了。配置文件如下:

  jdbc.properties 这个名字不要写错,是和上面工具类对应的,因为工具类要在配置文件读取数据。这里简单配置了mysql和oracle两个,也可以配置更多。

username=root
password=root
url=jdbc\:mysql\://localhost\:3306/usermanage
driverClass=com.mysql.jdbc.Driver #connection oracle
#username=system
#password=orcl
#url=jdbc:oracle:thin:@localhost:1521:xe
#driverClass=oracle.jdbc.driver.OracleDriver #db2

当然这只是简单的一种方式,并没有借助于任何第三方jar包和框架,非常简练,也适合初学习者使用。

原生态jdbc的应用技术的更多相关文章

  1. 原生态JDBC

    原生态JDBC JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API.JDBC是java访问数据库的标准规范,可以为不同的关系 ...

  2. jdbc数据访问技术

    jdbc数据访问技术 1.JDBC如何做事务处理? Con.setAutoCommit(false) Con.commit(); Con.rollback(); 2.写出几个在Jdbc中常用的接口 p ...

  3. mybatis由浅入深day01_1课程安排_2对原生态jdbc程序中问题总结

    mybatis 第一天 mybatis的基础知识 1 课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开 ...

  4. JDBC数据库连接池技术

    在JDBC中,获得连接或释放资源是非常消耗系统资源的两个过程,为了解决此类性能问题,通常采用连接池技术,来共享连接.这样我们就不需要每次都创建连接.释放连接了,这些操作都交给了连接池. 用池的概念来管 ...

  5. JDBC实例--JDBC连接池技术解密,连接池对我们不再陌生

    一.为什么我们要用连接池技术? 前面的数据库连接的建立及关闭资源的方法有些缺陷.统舱传统数据库访问方式:一次数据库访问对应一个物理连接,每次操作数据库都要打开.关闭该物理连接, 系统性能严重受损. 解 ...

  6. 2017.10.1 JDBC数据库访问技术

    4.1 JDBC技术简介 4.1.1 定义 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的 java API,由一组类与接口组成,通过 ...

  7. JDBC:数据库连接技术

    JDBC :带它再爱你一次 (一) JDBC 入门 (1) 概述 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问 ...

  8. 线程池-连接池-JDBC实例-JDBC连接池技术

    线程池和连接池   线程池的原理:     来看一下线程池究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客 ...

  9. 01.原生态jdbc程序中问题总结

    1.数据库启动包配置到工程目录中(mysql5.1) mysql-connector-java-5.1.7-bin.jar 2.jdbc原生态操作数据库(程序) 操作mysql数据库 1 packag ...

随机推荐

  1. 笔记26-徐 SQLSERVER内存分配和常见内存问题

    1 --64位SQLSERVER   应用在IA64操作系统                         7TB                         2TB               ...

  2. mysql基础用法

    <1>内置函数: locate('aa', '字段名');查询aa在字段中是否存在,返回1或0 replace('字段名','需替换的字符','替换后的字符') <2>函数: ...

  3. 新学习到的vi的一些命令

    1.普通模式下.符号可以重复上次的命令 2.普通模式下n<command>可以重复n次command命令 3.dw可以删除单个词    dnw可以删除n个单词  x和X可以在普通模式下删除 ...

  4. jQuery(window) 和 jQuery(document)的区别

    jQuery(window).height()代表了当前可见区域的大小,而jQuery(document).height()则代表了整个文档的高度,可视具体情况使用

  5. jQuery小节

    jQuery 语法 jQuery 选择器 在前面的章节中,我们展示了一些有关如何选取 HTML 元素的实例. 关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素. jQuery 元 ...

  6. 关于有偿提供拼图响应式后台的通知---------pintuer ui的官方通知(www.pintuer.com)

    拼图响应式前端框架版响应式后台正式发布. 考虑到目前拼图的状况,我们不打算免费开放下载,但也不会收各位朋友1分钱,该版后台将有偿提供给各位给予拼图贡献的朋友. 废话不多说,一切皆以有图有真相,下面上图 ...

  7. ListView条目的侧拉删除

    功能实现:类似QQ聊天记录中条目,左滑,可以删除该条目的功能:后续可以在自己的项目中添加该功能. 步骤一: (1)定义主布局,里面包含一个简单的ListView:命名id="lv" ...

  8. AWT布局管理器

    布局管理器 容器内可以存放各种组件,而组件的位置和大小是由容器内的布局管理器来决定的.在AWT中为我们提供了以下5种布局管理器: ①   FlowLayout 流式布局管理器 ②   BorderLa ...

  9. asp.net 琐记

    Page的AutoEventWireup作用是是否引发PreInit Load PreRender Unload几个页面处理流程事件 和控件的事件处理函数无关

  10. 微信企业号-JS-SDK图像接口

    使用JS-SDK需要进行四步  主要是步骤二和步骤三,步骤二需要配置,步骤三具体使用相关接口,这里以使用图像接口为例 php页面代码主要用来完成步骤二,也就是配置接口 public function ...