package dbex;

import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties; import org.apache.commons.dbutils.DbUtils;
/**
*
* @ClassName: TestOraDB
* @Description: Oracle数据库测试 JDBC
* @author penny
* @date 2017年11月24日 上午11:40:01
*
*/
public class DBUtil {
/**
* 连接对象
*/
public static Connection conn = null;
/**
* 预处理SQL语句
*/
public static PreparedStatement prst=null;
/**
* 返回结果集
*/
public static ResultSet rs = null;
public static Properties pro=null; static{
try {
InputStream in = DBUtil.class.getResourceAsStream("../database.properties");
pro = new Properties();
pro.load(in);
Class.forName(pro.getProperty("driver"));
} catch (Exception e) {
System.out.println("加载驱动失败:"+e.getMessage());
}
}
/**
*
* @Title: getConnection
* @Description: 获取连接
* @param @return
* @param @throws SQLException 设定文件
* @return Connection 返回类型
* @throws
*/
public static Connection getConnection() throws SQLException{
// System.out.println(pro.getProperty("url"));
// System.out.println(pro.getProperty("user"));
// System.out.println(pro.getProperty("password"));
conn=DriverManager.getConnection(pro.getProperty("url"), pro.getProperty("user"), pro.getProperty("password"));
if(conn==null){
return null;
}else{
return conn;
}
}
/**
*
* @Title: executeQuery
* @Description: 执行查询
* @param @param sql
* @param @throws SQLException
* @throws
*/
public static void executeQuery(String sql) throws SQLException{
prst = (PreparedStatement) conn.prepareStatement(sql);
rs=prst.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1)+"\t"+rs.getString(2));
}
} public static void closeAll
(Connection a, PreparedStatement b, ResultSet c) throws IOException{
DbUtils.closeQuietly(a, b, c);
} public static void main(String[] args) throws Exception {
DBUtil db =new DBUtil();
db.getConnection();
db.executeQuery("select * from ex_clob");
db.closeAll(conn, prst, rs);
}
} 下面是连接配置文件database.properties ### Oracle
url=jdbc:oracle:thin:@localhost:1521:orcl
user=scott
password=tiger
driver=oracle.jdbc.driver.OracleDriver
### MySql
#url=jdbc:mysql://localhost:3306/libweb
#driver=com.mysql.jdbc.Driver
#user=root
#password=

  

JDBC 复习1 DBUtil的更多相关文章

  1. JDBC复习

    -----------------------------------------JDBC复习----------------------------------------- 1.JDBC (Jav ...

  2. JDBC复习2

    前面复习了一些基础知识以及如何抽取一些常用的代码,接下来就结合junit4做一个增删改查的小demo 重点是这么几个步骤:1.创建连接 2.编写sql语句 3.编写sql语句的载体 4.如果是Prep ...

  3. JDBC 复习4 批量执行SQL

    1使用jdbc进行批量执行SQL在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. package dbe ...

  4. JDBC 复习3 存取Oracle大数据 clob blob

    1 目录结构记得导包咯 mysql oracle 2 代码,DBUtil工具类见前面的随笔博文 package dbex.mysql; import java.io.BufferedReader; i ...

  5. JDBC 复习2 存取mysql 大数据

    大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据 mysql的大数据分为2种 blob 和 text ,没有cl ...

  6. JDBC复习1

    1.什么是JDBC JDBC是java数据库连接技术的简称(Java DataBase Connectivity) jdbc是接口,jdbc驱动才是接口的实现,负责连接各种不同的数据库.jdbc的AP ...

  7. JDBC 复习

    概念 Java DataBase Connectivity java数据库连接 定义了操作所有关系型数据库的规则(接口),不同的数据库厂商编写类实现这些接口,这些类就叫数据库驱动,使得用户只需要使用统 ...

  8. JDBC 复习5 mysql 的自增长主键 auto_increment

    MySQL 自增长主键 (1)如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号.编号从1开始,并1为基数递增. (2)把0插入AUTO_INCRE ...

  9. 封装jdbc、DBUtil

    package com.cmos.util; import java.io.IOException; import java.io.InputStream; import java.sql.Conne ...

随机推荐

  1. nodejs取参四种方法 req.body, req.params, req.param, req.body

    获取请求很中的参数是每个web后台处理的必经之路,nodejs的 express框架 提供了四种方法来实现. req.body req.query req.params req.param() 首先介 ...

  2. patch工具的使用

    1. 最简用法 patch -p1 < jello.patch

  3. alpha测试和beta测试的区别是什么?

    1.测试时间不同: Beta测试是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段. alpha测试简称“α测试”,可以从软件产品编码结束之时开始, ...

  4. Java多线程中thread.getname()和thread.currentThread().getName();的去别

    首先要明白 this.XXX 的使用场景 使用Thread.currentThread().getName()和使用this.getName()和对象实例.getName(),都可以得到线程的名称,但 ...

  5. osg #ifdef _WIN32 osg

    #ifdef _WIN32 #include <Windows.h> #endif // _WIN32 #include <osgViewer/Viewer> #include ...

  6. (十六)Centos之安装mysql

    第一步:获取mysql YUM源 进入mysql官网获取RPM包下载地址 https://dev.mysql.com/downloads/repo/yum/ 点击 下载 右击 复制链接地址 https ...

  7. form 提交页面不刷新实现

    // no redirect <!DOCTYPE html> <html> <head> <meta http-equiv="Content-typ ...

  8. python面向对象内置方法关于属性篇

    1.关于__xxxattr__之__getattr__.__setattr__.__delattr__ 2.关于__xxxitem__之__getitem__.__setitem__.__delite ...

  9. 【Leetcode_easy】653. Two Sum IV - Input is a BST

    problem 653. Two Sum IV - Input is a BST 参考 1. Leetcode_easy_653. Two Sum IV - Input is a BST; 完

  10. iOS笔试题04

    1. Object-C有多继承吗?没有的话用什么代替?
 1> OC是单继承,没有多继承 2> 有时可以用分类category和协议protocol来代替多继承 2. Object-C有私 ...