JDBC:

Connection conn = null;
Statement stmt = null;
ResultSet rs = null; // 1.加载驱动
try {
Class.forName("com.ibm.db2.jcc.DB2Driver"); /*Driver driver = new com.ibm.db2.jcc.DB2Driver();
DriverManager.registerDriver(driver);
//这样做,意义不大,因为类在加载的时候就已经创建了DB2Driver对象,并向DriverManager注册*/
} catch (Exception e) {
e.printStackTrace();
} String url = "jdbc:db2://10.10.38.138:50000/malltest";
String username = "db2inst1";
String password = "db2inst1";
try {
// 2.创建数据库连接
conn = DriverManager.getConnection(url, username, password); // 3.获取数据库操作对象
stmt = conn.createStatement(); // 4.操作数据库获取结果集
rs = stmt.executeQuery("select * from ly.t_merinf where merid='M0000178'"); // 5.处理结果集
while(rs.next()){
System.out.println(rs.getString("mername"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭结果集
if(rs != null) {
try { rs.close(); } catch (SQLException e) { }
}
// 关闭数据库操作对象
if(stmt != null) {
try { stmt.close(); } catch (SQLException e) { }
}
// 关闭数据库连接
if(conn != null) {
try { conn.close(); } catch (SQLException e) { }
}
}

DBCP:

// 1.创建连接池
DataSource ds = null;
try {
Properties prop = new Properties();
// 通过类路径来加载属性文件
prop.load(DbcpTest.class.getClassLoader().getResourceAsStream("database/dbcp/dbcp.properties"));
// 获取数据源
ds = BasicDataSourceFactory.createDataSource(prop);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 2.获取数据库连接
conn = ds.getConnection(); // 3.创建数据库操作对象
stmt = conn.createStatement(); // 4.操作数据库获取结果集
rs = stmt.executeQuery("select * from ly.t_merinf where merid='M0000178'"); // 5.处理结果集
while (rs.next()) {
System.out.println(rs.getString("mername"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭结果集
if(rs != null) {
try { rs.close(); } catch (SQLException e) { }
}
// 关闭数据库操作对象
if(stmt != null) {
try { stmt.close(); } catch (SQLException e) { }
}
// 关闭数据库连接
if(conn != null) {
try { conn.close(); } catch (SQLException e) { }
}
}

配置文件:

driverClassName=com.ibm.db2.jcc.DB2Driver
url=jdbc:db2://10.10.38.138:50000/malltest
username=db2inst1
password=db2inst1
initialSize=3
maxActive=5
maxIdle=3
minIdle=1
maxWait=30000

C3P0:

ComboPooledDataSource cpds = new ComboPooledDataSource();

// 加载数据库驱动
try {
cpds.setDriverClass("com.ibm.db2.jcc.DB2Driver");
} catch (PropertyVetoException e1) {
e1.printStackTrace();
} // 设置访问数据库的地址、用户名和密码
cpds.setJdbcUrl("jdbc:db2://10.10.38.138:50000/malltest");
cpds.setUser("db2inst1");
cpds.setPassword("db2inst1"); // 设置C3P0的一些配置,不设置则使用默认值
cpds.setMinPoolSize(5);
cpds.setAcquireIncrement(5);
cpds.setMaxPoolSize(20);
cpds.setMaxStatements(180); Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 创建数据库连接
conn = cpds.getConnection(); // 获取数据库操作对象
stmt = conn.createStatement(); // 操作数据库获取结果集
rs = stmt.executeQuery("select * from ly.t_merinf where merid='M0000178'"); // 处理结果集
while (rs.next()) {
System.out.println(rs.getString("mername"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭结果集
if(rs != null) {
try { rs.close(); } catch (SQLException e) { }
}
// 关闭数据库操作对象
if(stmt != null) {
try { stmt.close(); } catch (SQLException e) { }
}
// 关闭数据库连接
if(conn != null) {
try { conn.close(); } catch (SQLException e) { }
}
try {
DataSources.destroy(cpds);
} catch (SQLException e) {
e.printStackTrace();
}
}

Java 使用JDBC、DBCP、C3P0访问数据库的更多相关文章

  1. Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统

    Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...

  2. Java使用JDBC连接SQL Server数据库

    Java使用JDBC连接SQL Server数据库 1.下载驱动 1.下载Microsoft SQL Server JDBC 驱动程序 https://docs.microsoft.com/zh-cn ...

  3. 【JAVA - SSM】之MyBatis与原生JDBC、Hibernate访问数据库的比较

    首先来看一下原生JDBC访问数据库的代码: public static void main(String[] args) { // 数据库连接 Connection connection = null ...

  4. 【JavaEE】之MyBatis与原生JDBC、Hibernate访问数据库的比较

    首先来看一下原生JDBC访问数据库的代码: public static void main(String[] args) { // 数据库连接 Connection connection = null ...

  5. Java数据库连接--JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  6. SpringBoot实战(四)之使用JDBC和Spring访问数据库

    这里演示的是h2databse示例,所以简单的介绍普及下h2database相关知识 H2数据库是一个开源的关系型数据库. H2是一个嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提 ...

  7. JAVA使用JDBC连接,修改MySQL数据库(比较乱)

    原文地址1(连接MySQL图文) : http://www.cnblogs.com/GarfieldEr007/p/5746137.html 原文地址2 (修改MySQL图文): http://www ...

  8. Java通过JDBC连接SQL Server2017数据库

    一.需要明白的基础知识 数据库名 驱动jar(x表示版本号) 具体驱动类 连接字符串(ip地址,端口号,名字) Oracle ojdbc-x.jar oracle.jdbc.oracleDriver ...

  9. Java使用JDBC连接随意类型数据库(mysql oracle。。)

    package cn.liz.test; import java.io.InputStream; import java.sql.Connection; import java.sql.Driver; ...

随机推荐

  1. java中只能有一个实例的类的创建

    Java中,如果我们创建一个类,想让这个类只有一个对象,那么我们可以 1:把该类的构造方法设计为private 2:在该类中定义一个static方法,在该方法中创建对象 package test; / ...

  2. CSS——图片替换方法比较

    图片替换主要是指将文字替换成图片的技术,即在html语句中使用文字,浏览器显示时用对应的图片显示.其意义在于便于做网站优化(SEO),文字才是搜索引擎寻找的主要对象. 经典的替换方法: Fahrner ...

  3. judge loop in undirected graph

    一 深度优先遍历,参考前面DFS(white and gray and black) 二 根据定点以及边数目进行判断 如果m(edge)大于n(vertex),那么肯定存在环 算法如下: 1 删除所有 ...

  4. 【IPC进程间通信之四】数据复制消息WM_COPYDATA

    IPC进程间通信+数据复制消息WM_COPYDATA                IPC(Inter-Process Communication,进程间通信).         数据复制消息WM_C ...

  5. POJ 1330 Nearest Common Ancestors LCA题解

    Nearest Common Ancestors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19728   Accept ...

  6. redis缓存工具Jedis进行跨jvm加锁(分布式应用)--不幸暂弃用--能够做第三方锁使用

    近期使用redis碰到了多个并发处理同一个缓存的情况.在这样的情况下须要进行加锁机制. 本来想使用java自带的ReadWriteLock进行设置读写锁,这也是上家公司使用的方法. 后来经过商讨,给予 ...

  7. html 中的块级元素 内联元素

    上一个礼拜,做crm项目,使用的大部分都是js,nodejs,ajax 的内容,但是今天我想写写关于html中的块级元素和内联元素 的东西. 首先,html 中的块级元素 内联元素 我们可以看到,这两 ...

  8. Send Mail 网址

    http://www.codeproject.com/Tips/371417/Send-Mail-Contact-Form-using-ASP-NET-and-Csharp http://www.c- ...

  9. mysqldump 备份数据说明+ 避免锁表

    1.mysqldump命令备份Mysql数据库的参数说明 在用mysqldump备份使用那些参数选项是最完美的组合呢?--skip-opt--create-option                 ...

  10. ZOJ 3607 Lazier Salesgirl 贪心

    这个题比上个题简单得多,也是超过W时间会睡着,睡着就再也不会卖了,顾客按时间顺序来的,但是可能有顾客同时到(同时到如果醒着就全卖了),并且每个人只买一块面包,也是求最大的W,使得卖出面包的平均价格最高 ...