原生态jdbc的应用技术
为了更好的了解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的应用技术的更多相关文章
- 原生态JDBC
原生态JDBC JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API.JDBC是java访问数据库的标准规范,可以为不同的关系 ...
- jdbc数据访问技术
jdbc数据访问技术 1.JDBC如何做事务处理? Con.setAutoCommit(false) Con.commit(); Con.rollback(); 2.写出几个在Jdbc中常用的接口 p ...
- mybatis由浅入深day01_1课程安排_2对原生态jdbc程序中问题总结
mybatis 第一天 mybatis的基础知识 1 课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开 ...
- JDBC数据库连接池技术
在JDBC中,获得连接或释放资源是非常消耗系统资源的两个过程,为了解决此类性能问题,通常采用连接池技术,来共享连接.这样我们就不需要每次都创建连接.释放连接了,这些操作都交给了连接池. 用池的概念来管 ...
- JDBC实例--JDBC连接池技术解密,连接池对我们不再陌生
一.为什么我们要用连接池技术? 前面的数据库连接的建立及关闭资源的方法有些缺陷.统舱传统数据库访问方式:一次数据库访问对应一个物理连接,每次操作数据库都要打开.关闭该物理连接, 系统性能严重受损. 解 ...
- 2017.10.1 JDBC数据库访问技术
4.1 JDBC技术简介 4.1.1 定义 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的 java API,由一组类与接口组成,通过 ...
- JDBC:数据库连接技术
JDBC :带它再爱你一次 (一) JDBC 入门 (1) 概述 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问 ...
- 线程池-连接池-JDBC实例-JDBC连接池技术
线程池和连接池 线程池的原理: 来看一下线程池究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客 ...
- 01.原生态jdbc程序中问题总结
1.数据库启动包配置到工程目录中(mysql5.1) mysql-connector-java-5.1.7-bin.jar 2.jdbc原生态操作数据库(程序) 操作mysql数据库 1 packag ...
随机推荐
- 修改server 2008远程桌面端口
在“开始”-"运行"菜单里,输入regedit HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Serve ...
- webSocket详解
WebSocket 实战http://www.ibm.com/developerworks/cn/java/j-lo-WebSocket/index.html 转自IBMdeveloperWorks ...
- 【Java布局】FlowLayout布局时设定组件大小
默认的JPanel中,采用的是FlowLayout布局 下面是api中的定义: JPanel(boolean isDoubleBuffered) 创建具有 FlowLayout 和 ...
- iOS(视图控制器转场)
转场需要提供转场代理,不使用默认的代理则需要自己实现代理方式,有UINavigationController.UITabBarController.UIViewController三种代理,实现以下三 ...
- Java 如何跳出多重嵌套循环体?
1. 在最外层循环语句前定义一个标号,循环体内任意位置都可以使用带有标号的break语句跳出外层循环,结束整个循环. System.out.println("MainClass1 Start ...
- CURLcode curl_easy_setopt(原创)
中文翻译: curl_easy_setopt() libcurl 手册 curl_easy_setopt() 名称 curl_easy_setopt -curl的设置选项 概要 #include &l ...
- @SpringBootApplication
1. spring 文档说明 Many Spring Boot developers always have their main class annotated with @Configuratio ...
- [原创]迈出NIOS的第一步,HelloNIOS
Altera官方推出NIOS已经很久了,个人感觉C+V代码配合会是后面FPGA使用的一个主流,由C来完成一些对时序要求不高,对功能要求偏高的部分,比如运动控制等:由V来配合时序完成高时序要求的需求以及 ...
- fastjson将json字符串转化成bean对象解析出错的检查方法
我的情况是:解析第一层数据成功,解析第二层嵌套的数据失败.如: { "response": { "resultcode": "0", &qu ...
- Frameset 框架集 导航栏 的使用
在index.jsp中 使用jsp标签转发到制定页面 <body> <jsp:forward page="/admin/frame.jsp"></js ...