`

关于java jdbc 数据连接类(dataBase)封装

    博客分类:
  • java
阅读更多

package util;

 

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

 

public class DataBase {

 

 

/**

* 数据连接实例变量

*/

private Connection conn;

 

 

public Connection getConn() {

return conn;

}

 

 

/**

* 构造方法

* @param conn

*/

public DataBase(Connection conn){

this.conn =  conn;

}

 

/**

* 构造方法

* @param isAutoCommit  是否自动提交

* @param conn

* @throws Exception

*/

public DataBase(boolean isAutoCommit,Connection conn) throws Exception{

this.conn = conn;

this.conn.setAutoCommit(isAutoCommit);

}

 

/**

* 构造方法

* @param isAutoCommit

* @throws Exception

*/

public DataBase(boolean isAutoCommit) throws Exception{

try{

this.conn = DBConnection.getInstance().getConnection();

if(conn != null){

System.out.println("数据库连接成功");

}

}catch (Exception e) {

System.out.print("数据库连接失败(" + e.getLocalizedMessage() + ")");

throw new SQLException("Fail at create dababase connection!"+ e.getMessage());

}

//设置是否自动提交

try{

if(conn != null){

this.conn.setAutoCommit(isAutoCommit);

}else{

System.out.println("11");

}

}catch(Exception e){

e.printStackTrace();

}

}

 

/**

* 提交事务处理

* @throws Exception 

*/

public void commit() throws Exception{

try {

this.conn.commit();

} catch (SQLException e) {

throw new Exception("Fail at database commit!" + e.getMessage());

}

}

 

/**

* 事务回滚

*/

public void rollback(){

try {

this.conn.rollback();

} catch (SQLException e) {

e.printStackTrace();

}

}

 

 

 

/**

* 关闭ResultSet

* @param rs

*/

public void  close(ResultSet rs){

if(rs != null){

try {

Statement stmt =  rs.getStatement();

rs.close();

rs = null;

if(stmt != null){

stmt.close();

stmt = null;

}

} catch (SQLException e) {

e.printStackTrace();

System.out.println("关闭ResultSet失败");

}

}

}

 

 

/**

* 关闭连接

*/

public void cleanup(){

try{

if(this.conn != null){

if(!conn.isClosed()){

this.conn.close();

}

}

}catch(Exception e){

e.printStackTrace();

}

}

 

 

/**

* 执行update

* @param sql

* @return

* @throws SQLException

*/

public  int  execSqlUpdate(String sql) throws SQLException{

Statement stmt = null;

try{

int execResult;

stmt = this.conn.createStatement();

execResult = stmt.executeUpdate(sql);

//stmt.close();

return execResult;

}catch(Exception e){

String username  = this.conn.getMetaData().getUserName();

String url = this.conn.getMetaData().getURL();

throw new SQLException("在" + url + "的用户" + username + ",执行SQL失败("

+ e.getMessage() + ")!SQL:[" + sql + "]");

}finally{

try{

if(!stmt.isClosed()){

stmt.close();

}

}catch(Exception e){

e.printStackTrace();

}

}

}

 

 

 

/**

* 得到ResultSet记录

* @param sql

* @return

* @throws Exception

*/

public ResultSet getRS(String sql) throws SQLException {

Statement stmt = null;

ResultSet rs = null;

try {

stmt = conn.createStatement();

rs = stmt.executeQuery(sql);

} catch (SQLException e) {

if (stmt != null) {

stmt.close();

stmt = null;

}

String userName = conn.getMetaData().getUserName();

String url = conn.getMetaData().getURL();

throw new SQLException("在" + url + "的用户" + userName + ",执行SQL失败("

+ e.getMessage() + ")!SQL:[" + sql + "]");

}

return rs;

 

}

 

 

/**

* @param args

*/

public static void main(String[] args) {

ResultSet rs = null;

try {

DataBase db = new DataBase(true);

String sql = "select id as ID,name as NAME from app_user";

rs = db.getRS(sql);

while(rs.next()){

long userId = rs.getLong(1);

String userName = rs.getString(2);

System.out.println("用户id:"+userId+"   用户名:"+userName);

}

db.close(rs);

} catch (Exception e) {

e.printStackTrace();

}

}

 

}

 

分享到:
评论

相关推荐

    java增删改查JDBC封装类(泛型封装)

    "java增删改查JDBC封装类(泛型封装)"这个主题是关于如何利用泛型来优化JDBC操作,以提高代码的可读性、安全性和复用性。以下将详细讲解这个主题涉及的知识点。 1. **JDBC基础**: - JDBC是Java中连接数据库的标准...

    java JDBC 连接sql server封装

    在本主题中,我们将深入探讨如何使用Java JDBC来封装对SQL Server数据库的连接,从而创建一个实用工具类(Util类),提高代码的复用性和可维护性。 首先,确保你的项目已经引入了适用于SQL Server的JDBC驱动,如...

    java jdbc 需要包

    Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它提供了一种标准化的方法,让程序员可以使用SQL语句访问数据库,而无需关心具体的数据库实现细节。在Java应用...

    JAVA 连接sqlserver类 已封装好 & sqljdbc.jar

    在Java编程中,连接SQL Server数据库通常涉及到JDBC(Java Database Connectivity)技术。JDBC是Java平台的标准API,用于与各种数据库建立连接,执行SQL语句,并获取查询结果。在这个场景中,标题提到的"JAVA 连接...

    java JDBC连接数据库,并将数据分页

    Java JDBC(Java Database Connectivity)是Java平台中用于与各种数据库进行交互的标准接口。它允许Java应用程序连接到数据库,执行SQL语句,以及处理结果。在本教程中,我们将深入探讨如何使用JDBC连接Oracle数据库...

    java 使用jdbc封装连接数据库

    Java使用JDBC(Java Database Connectivity)封装连接数据库是一种常见的数据操作方式,尤其在初学者阶段。JDBC是Java平台的标准接口,它允许Java程序与各种类型的数据库进行交互。本教程将重点讲解如何通过简单的...

    java封装jdbc的操作代码

    Java中的JDBC(Java Database Connectivity)是Java语言与各种数据库进行交互的标准接口,它使得开发者可以使用Java语言来访问和处理数据库。封装JDBC操作代码是为了提高代码的复用性,减少重复工作,并且能够更好地...

    对 java jdbc 轻量级封装的一个jar包,可以简化jdbc操作数据库的过程

    5. 结果集处理:提供方便的方法将查询结果映射到Java对象,比如使用POJO(Plain Old Java Object)或者自定义的数据类。 6. 错误处理:统一异常处理,简化错误捕获和日志记录。 描述中的“可以简化jdbc操作数据库...

    关于JDBC连接池的java类

    这个提供的"JDBC连接池"类很可能是一个封装好的数据源类,它简化了连接池的配置和使用过程,使得开发者可以更专注于业务逻辑。导入此类后,只需按照类库的API进行操作,就能方便地管理和使用数据库连接。 总的来说...

    java使用jdbc对mysql的操作封装,包括java使用jdbc对mysql进行事务处理

    以及java使用jdbc对mysql的事务处理,对execute、executeUpdate、executeQuery进行了封装,把繁琐的创建数据库连接对象、PreparedStatement对象、结果集对象,打开关闭连接进行了封装,只需要dao类继承DBTool几个...

    Oracle jdbc 单例 工具类

    在Java编程中,JDBC(Java Database Connectivity)是连接Java应用程序和各种数据库的标准接口。Oracle JDBC驱动程序是Oracle公司提供的特定于Oracle数据库的JDBC实现,使得Java开发者能够高效地执行SQL语句并处理...

    jdbc连接mysql工具类

    在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的一套标准API。MySQL是一款广泛应用的关系型数据库管理系统,它与JDBC结合,为开发者提供了方便的数据操作接口。下面将详细介绍如何...

    jdbc 连接数据库封装类,可返回map,或者vo(自用)

    标题中的“jdbc 连接数据库封装类,可返回map,或者vo(自用)”指的是一个自定义的Java类库,用于简化Java应用程序通过JDBC(Java Database Connectivity)与数据库的交互。这类库通常会提供方便的方法来执行SQL...

    JDBC数据操作封装

    在IT行业中,数据库操作是应用程序开发中的核心部分,而Java JDBC(Java Database Connectivity)是连接Java应用程序与数据库的标准接口。本篇文章将详细讲解如何利用JDBC进行数据操作封装,包括增删查改(CRUD)的...

    java连接数据事件封装

    在Java编程中,数据库连接和数据操作是常见的任务,而JDBC(Java Database Connectivity)是Java平台的标准接口,用于与各种数据库进行交互。本话题主要关注"Java连接数据事件封装",这通常涉及到如何优雅地处理...

    java注解、java反射机制 jdbc 封装

    在结合JDBC(Java Database Connectivity)API时,可以构建出更高效、更易维护的数据访问层。本案例通过注解的方式,简化了JDBC操作数据库的过程,并利用反射机制动态地调用这些操作。 首先,让我们详细了解Java...

    Weblogic JDBC 数据源配置和详细参数说明

    JDBC(Java Database Connectivity)是 Java 语言中的一种标准数据库连接技术,几乎所有需要访问数据库的 J2EE 应用程序都直接或间接地使用了它。JDBC 提供了一个统一的接口来访问不同的关系数据库管理系统(DBMS)...

    java使用jdbc连接数据库工具类和jdbc连接mysql数据示例

    在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的标准API。使用JDBC,开发者可以通过编写Java代码来执行SQL语句,从而实现对数据库的增删查改操作。本文将详细解释如何使用JDBC连接...

    效率很高的java jdbc类

    Java JDBC(Java Database Connectivity)是Java编程语言中用于与数据库交互的一组接口和类,它提供了标准的方法来连接、查询和操作数据库。本篇将详细解释这个“效率很高的java jdbc类”的核心概念和实现。 首先,...

    OracleJDBC连接类

    Oracle JDBC 连接类是 Oracle 数据库与 Java 应用程序之间进行通信的重要桥梁。Java Database Connectivity (JDBC) 是 Java 平台的标准接口,它允许程序员使用 Java 语言来执行 SQL 命令,从而操作数据库。Oracle ...

Global site tag (gtag.js) - Google Analytics