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. 上传图片获取base64编码、本地预览

    一.读取文件的对象 — new FileReader()   上传图片接口参数有图片base64编码(数组, imgBase64List ),主要用到 读取文件的对象 [ new FileReader ...

  2. android: Context引起的内存泄露问题

    错误的使用Context可能会导致内存泄漏,典型的例子就是单例模式时引用不合适的Context. public class SingleInstance { private static Single ...

  3. Spring Boot属性配置&自定义属性配置

    一.修改默认配置 例1.spring boot 开发web应用的时候,默认tomcat的启动端口为8080,如果需要修改默认的端口,则需要在application.properties 添加以下记录: ...

  4. springboot之docker化

    1.Docker安装 本人是centos7系统,安装也是按照官方文档进行安装.https://docs.docker.com/install/linux/docker-ce/centos/ ,即 1. ...

  5. CGI "Internal Server Error"

    在安裝 CGI 程式時如果設定錯誤,便會看到 "500 Internal Server Error" 訊息,一般常見的錯誤可以用以下方法解決: 1. CGI 程式的權限需要設定為 ...

  6. Hibernate 自动更新表出错 More than one table found in namespace

    报错:Caused by: org.hibernate.tool.schema.extract.spi.SchemaExtractionException: More than one table f ...

  7. 阶段5 3.微服务项目【学成在线】_day18 用户授权_12-前端集成认证授权-携带JWT授权

    携带JWT授权 登陆后jwt已经存到了sessionStorage里面 当进行微服务的请求就要携带令牌.我们在拦截器里面做文章. 在axios的intercepters拦截器上 手工的给这个课程 造一 ...

  8. CNCF基金会的Certified Kubernetes Administrator认证考试计划

    关于CKA考试 CKA(Certified Kubernetes Administrator)是CNCF基金会(Cloud Native Computing Foundation)官方推出的Kuber ...

  9. NET-使用Js调用WebService

    注:JsWebServiceObject 此类是我做测试示例时为了测试js是否能调用webService中的复合类型而单独新建的一个类 此类中只有名字与年龄的属性. 最近身边的一个朋友做项目,其中有一 ...

  10. MariaDB集群配置(主从和多主)

    1.mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从 ...