纲要:

Properties prop = new Properties();

BasicDataSource ds = new BasicDataSorce();

Connection conn = ds.getConnection();

==================

package util;

import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties;

import org.apache.tomcat.dbcp.dbcp.BasicDataSource;

/**  * 该类用来管理连接  * 数据库连接信息,保存在属性文件中  * 使用连接池获取连接  */ public class DBUtil {    private static BasicDataSource ds;    static{     try {    //加载属性文件数据    Properties prop = new Properties();    prop.load    (DBUtil.class.getClassLoader().    getResourceAsStream    ("db.properties"));    String driverclass = prop.getProperty("jdbc.driverclass");    String url = prop.getProperty("jdbc.url");    String user = prop.getProperty("jdbc.user");    String password = prop.getProperty("jdbc.password");    String strMaxActive    = prop.getProperty("dbcp.maxActive");    String strInitSize    = prop.getProperty("dbcp.initSize");    //实例化,并初始化连接池    ds = new BasicDataSource();    ds.setDriverClassName(driverclass);    ds.setUrl(url);    ds.setUsername(user);    ds.setPassword(password);       ds.setMaxActive    (Integer.parseInt(strMaxActive));       ds.setInitialSize    (Integer.parseInt(strInitSize));       }  catch (IOException e) {    e.printStackTrace();    throw new RuntimeException    ("读取属性文件错误",e);   }  }     //2、创建连接  public static  Connection getConnection()    throws SQLException{   return ds.getConnection();  }     //3、归还连接  public static void close(Connection conn){   if(conn!=null){    try {     conn.close();    } catch (SQLException e) {     e.printStackTrace();     throw new RuntimeException     ("归还连接错误!",e);    }   }  }     //测试  public static void main(String[] args)    throws SQLException {   Connection conn = getConnection();   System.out.println   (conn.getClass().getName());   close(conn);  }  }

DButil的更多相关文章

  1. DBUtil数据库连接单例 —— 简单不简单

    单例大概是我最早产生明确模式意识的设计模式,因为它足够简单粗暴,目的足够明确. 单例么,就是不管怎么访问,都返回一个单一实例就好了,我最早应用在数据库的DBUtil中. public class DB ...

  2. JDBC_part2_DML以及预编译_编写DBUtil工具类

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! jdbc day02 DML语法 比起插叙语句,没有R ...

  3. SQLHelper、DBUtil终极封装

    DBUtil.java package org.guangsoft.util; import java.io.InputStream; import java.sql.Connection; impo ...

  4. Java 标准DBUtil 写法

    package xueruan.com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql ...

  5. 手把手封装数据层之DButil数据库连接的封装

    最近这段时间一直在用SSM框架做增删改查,突然想把以前还不会用框架的时候,综合百度和各种资料结合API文档抄袭而来的数据层的封装分享给大家.这边先封装一个DButil. 我这个封装就是烂大街的那种,没 ...

  6. Mybatis_4.DBUtil.java

    1.获取SqlSessionFactory /** * @author:滕鹏飞 * @version: 1.0 * @Created on: 2018-8-31 下午2:10:45 * 类说明:加载配 ...

  7. 封装jdbc、DBUtil

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

  8. jdbc之工具类DBUtil的使用

    首先回顾一下jdbc的使用方法: 1. 注册驱动 2. 建立连接 3. 建立statement 4. 定义sql语句 5. 执行sql语句,如果执行的是查询需遍历结果集 6. 关闭连接 其中建立连接和 ...

  9. 通过dbutil操作数据库

    dbutil操作数据库工具类 步骤 导入jar包 c3p0-0.9.1.2.jar         commons-dbutils-1.6.jar         mysql-connector-ja ...

随机推荐

  1. 面试&笔试常见题,你了解多少?

    HTML:1.  什么是语义化的HTML?有何意义?为什么要做到语义化?(高频率考题)2.  行内元素和块元素分别有哪些?(高频率)3.  严格模式与混杂模式的区分?如何触发这两种模式?(高频率)4. ...

  2. php 如何进入mysql数据库

    我是初学者,有两台电脑,进入数据库通用的方法直接找mysql.exe,如下例: F:\Program Files\wamp\bin\mysql\mysql5.5.20\bin

  3. 清除Outlook 2013中缓存的邮件地址

    1.删除相关文件(可能会没有访问权限): 路径:C:\Documents and Settings\user\用户名\Application Data\Microsoft\Outlook 文件名:ou ...

  4. mac 启动nfsd共享

    # cat /etc/exports /Users/guang/jumpserver -maproot=root:wheel -alldirs -rw -network 192.168.244.0 - ...

  5. jdk安装与环境变量配置(一劳永逸)

    换了一个项目组做新的项目,新的机器,又得重新打环境,懒得去百度下,这里做个备份,下回直接看就行,如下 进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置: 1.下载jdk(http ...

  6. winner tree 胜者树

    在树形选择排序中,利用锦标赛思想建立的树称为胜者树. 1.每个非终端节点存储的是左右孩子节点中的优胜者. 2.通过减少比较次数,提高效率. 3.胜者树就是一颗特殊的线段树. 一.构建树 Procedu ...

  7. mysql Field xxx doesn't have a default value STRICT_TRANS_TABLES(存储引擎启用严格模式,非法数据值被拒绝)

    今天在插入一条数据时发生错误: Field serverid doesn’t have a default value. serverid是设置成了not null int类型的,但是插入的是'',就 ...

  8. Leetcode: Random Pick Index

    Given an array of integers with possible duplicates, randomly output the index of a given target num ...

  9. FB面经prepare: task schedule II

    followup是tasks是无序的. 一开始是有序的,比如说1, 1, 2, 1,一定要先执行第一个task1,然后等task1恢复,再执行第2个task1,再执行task2..... follow ...

  10. 强连通(hdu4635)最多增加几条单向边后满足最终的图形不是强连通

    Strongly connected Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...