第一种 (带事务)

package com.china.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class BaseDao { protected Connection conn = null; /**
* 创建数据库连接
* @throws ClassNotFoundException
* @throws SQLException
*/
protected void openconnection() throws ClassNotFoundException,SQLException{
try {
if( conn == null || conn.isClosed() ){
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","xx","xx");
//mysql
//Class.forName("com.mysql.jdbc.Driver");
// conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/xe", "root", "root");
}
} catch (ClassNotFoundException e) { throw e;
} catch (SQLException e) { throw e;
}
} /**
* 手动提交事务
* @throws Exception
*/
public void beginTransaction() throws Exception{ this.openconnection();
conn.setAutoCommit(false);
}
/**
* 事务回滚
* @throws Exception
*/
public void rollback() throws Exception{ if(conn != null){
conn.rollback();
}
}
/**
* 事务提交
* @throws Exception
*/
public void commit() throws Exception{
if(conn != null){
conn.commit();
}
} /**
* 关闭数据库
* @throws Exception
*/
public void closeResource() throws Exception{
if(conn != null){
conn.close();
} } }

第二种(mysql和oracle无事务)推荐!

package com.smn.toolsbean;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class DB {
private final String url = "jdbc:mysql://127.0.0.1:3306/blog";
private final String userName = "root";
private final String password = "toor";
private Connection con = null;
private Statement stm=null; /* 通过构造方法加载数据库驱动 */
public DB(){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
e.printStackTrace();
System.out.println("加载数据库驱动失败!");
}
}
/* 创建数据库连接 */
public void createCon() {
try {
con = DriverManager.getConnection(url, userName, password);
} catch (Exception e) {
e.printStackTrace();
System.out.println("获取数据库连接失败!");
}
}
/* 获取Statement对象 */
public void getStm(){
createCon();
try {
stm=con.createStatement();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("创建Statement对象失败!");
}
}
/**
* @功能 对数据库的增加、修改和删除的操作
* @参数 sql为要执行的SQL语句
* @返回值 boolean型值
*/
public boolean executeUpdate(String sql) {
System.out.println(sql);
boolean mark=false;
try {
getStm();
int iCount = stm.executeUpdate(sql);
if(iCount>0)
mark=true;
else
mark=false;
} catch (Exception e) {
e.printStackTrace();
mark=false;
}
return mark;
}
/* 查询数据库 */
public ResultSet executeQuery(String sql) {
ResultSet rs=null;
try {
getStm();
try {
rs = stm.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
System.out.println("查询数据库失败!");
}
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
/* 关闭数据库的操作 */
public void closed() {
if(stm!=null)
try {
stm.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("关闭stm对象失败!");
}
if(con!=null)
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("关闭con对象失败!");
}
}
}

java实现数据库连接的工具类的更多相关文章

  1. Java线程的并发工具类

    Java线程的并发工具类. 一.fork/join 1. Fork-Join原理 在必要的情况下,将一个大任务,拆分(fork)成若干个小任务,然后再将一个个小任务的结果进行汇总(join). 适用场 ...

  2. Rhino+envjs-1.2.js 在java运行网站js 工具类

    java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...

  3. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  4. Java学习-041-颜色工具类(RGB,HEX)

    在日常的网页开发中,经常需要进行颜色数值获取.转换,例如获取红色,获取蓝色,获取绿色,RGB转十六进制颜色,十六进制颜色转RGB等,因而在学习过程中,写了一个小工具类,仅供各位小主参考! 多不闲言,直 ...

  5. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  6. JAVA自动生成正则表达式工具类

    经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...

  7. java 二进制数字符串转换工具类

    java 二进制数字符串转换工具类 将二进制转换成八进制 将二进制转换成十进制 将二进制转换成十六进制 将十进制转换成二进制 package com.iteye.injavawetrust.ad; i ...

  8. Java学习-049-正则工具类

    自去年九月份决定再次入学和职业资格进阶,开始备战二者考试至今,以及当下进行中的职称申请,犹如孤独的狼,不断前行在路上,而今凡凡总总的已历8月... 不感慨了,如下为一园友需要的正则工具类,直接上码: ...

  9. Java 后台验证的工具类

    Java 后台验证的工具类 public class ValidationUtil {         //手机号     public static String mobile = "^( ...

随机推荐

  1. springboot的aop编程

    以下内容是模仿杨开振<<深入浅出springboot 2.x>>的4.2章节内容. 开始前,需要先修改pom.xml,加入以下内容 <!-- https://mvnrep ...

  2. git 本地分支与远程仓库分支关联

    当我们从远程仓库项目克隆到本地后,会自动创建本地master分支,并且与远程仓库主分支关联.如果我们需要在本地创建一个分支并且与远程仓库的origin/xxx分支关联,则可以通过以下命令实现 git ...

  3. MyBatis模糊查询的三种拼接方式

    1. sql中字符串拼接 SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%'); 2. 使用 ${...} ...

  4. Co. - Microsoft - Windows - 快捷键

    [F1-F12]键 [Win]键 Windows键就是电脑键盘上是Windows图标的键,一般在Ctrl键和Alt键之间.搜索看整个键盘你会发现键盘上有两个Windows键,主要是左右手设计方便按各种 ...

  5. loushang框架的开发中关于BSP的使用,将写好的功能模块部署到主页界面结构上

    前言: 当我们已经开发好相应的模块或者功能的时候,需要将这个功能部署在index主页上作为可点击直接使用的模块,而不是每次需要去浏览对应的url地址. 这时候就需要运用到L5的BSP. 作为刚刚入门l ...

  6. mysql帐号不允许从远程登陆

    默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录.本文提供了二种方法设置mysql可以通过远程主机进行连接. 一.改表法 在localhost登入mysql后,更改 “mysq ...

  7. 开通CSDN博客的原因

                                                                          为什么要写博客? 提供持续学习的动力 例如,我为自己设限每天 ...

  8. Windows和Linux系统下,虚拟环境安装的全面说明和详细步骤

    虚拟环境的创建和使用 用途: ​ 1.在同一台电脑安装同一个包的不同版本 2.记录项目所用的所有的包的版本,方便部署. 如何使用: 1.创建虚拟环境 mkvirtualenv 虚拟环境名 -p pyt ...

  9. 最短路径算法 1.Floyed-Warshall算法

    这几周开始正式系统学习图论,新学期开始新的记录.由于二模和生物地理两门高考的临近,时间比较仓促,所以暂时跳过图论的(一)和(二),即图的储存和遍历.从最短路径算法学起,首先要学习的是Floyed-Wa ...

  10. pprof 查看goroutine

    package main import ( "net/http" "runtime/pprof" ) var quit chan struct{} = make ...