`
wuhaidong
  • 浏览: 364435 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

JDBC 封装的DButils

阅读更多
package org.cric.other;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

public class DBUtils {
	private String driverName ="com.mysql.jdbc.Driver";//MySql驱动
	private final String url = "jdbc:mysql://localhost:3306/users";//users表示数据库
	private final String username = "root";
	private final String password = "root";
	private Connection con=null;
	private Statement stmt=null;
	private ResultSet rs=null;
	/**
	 * 加载数据库驱动
	 */
	public DBUtils(){
		try {
			Class.forName(driverName);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	/**
	 * 连接数据库
	 * @return
	 * @throws SQLException
	 */
	public Connection getConnection() throws SQLException{
		if(con==null || con.isClosed())
		con=java.sql.DriverManager.getConnection(url,username,password);
		return con;
		
	}
	/**
	 * 执行数据库操作-查
	 * @param sqlStr
	 * @return
	 */
	public ResultSet executeQuery(String sqlStr){
		if(sqlStr==null || sqlStr.length()==0)
		{
			return null;
		}
		try {
			this.getConnection();
			stmt=con.createStatement();
			rs=stmt.executeQuery(sqlStr);
			return rs;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
	}
	/**
	 * 执行数据库操作---增,删,改
	 * @param sqlStr
	 * @return
	 */
	public boolean executeUpdate(String sqlStr){
		if(sqlStr==null || sqlStr.length()==0)
		{
			return false;
		}
		try {
			this.getConnection();
			stmt=con.createStatement();
			stmt.executeUpdate(sqlStr);
			return true;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}finally{
			if(stmt!=null)
				try {
					stmt.close();
					stmt=null;
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			if(con!=null)
				try {
					con.close();
					con=null;
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		}
	}
	/**
	 * 关闭stmt资源
	 */
	public void closeStmt(){
		if(stmt!=null)
			try {
				stmt.close();
				stmt=null;
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
	/**
	 * 关闭con资源
	 */
	public void closeConnetion(){
		if(con!=null)
			try {
				con.close();
				con=null;
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
	/**
	 * 多条数据库更新--事务
	 * @param al
	 * @return
	 */
	public boolean executeUpdates(ArrayList<String> al)
	{
	
		if(al==null||al.size()==0)
		{
			return false;
		}
		try
		{
			this.getConnection();
			this.con.setAutoCommit(false);
			stmt=con.createStatement();
			for(int i=0;i<al.size();i++){
			stmt.addBatch(al.get(i));
			}
			stmt.executeBatch();
			this.con.commit();
			this.con.setAutoCommit(true);
			return true;
		}
		catch(SQLException ex)
		{
			ex.printStackTrace();
			
			try {
				if(con!=null)
				con.rollback();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return false;
		}finally{
			try {
				if (stmt != null)
				{
		        		stmt.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if (con != null)
				{
		        		con.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			
		}
		
	}
}

 

分享到:
评论

相关推荐

    JAVA-JDBC-DbUtils教程简单到精通!

    6. **异常处理**:理解DbUtils如何封装SQLException,并在程序中适当地捕获和处理。 在提供的"JAVA-JDBC-DbUtils教程"中,你可能会学习到如何设置开发环境,创建数据库连接,编写SQL语句,以及如何使用DbUtils进行...

    JDBC_DBUtils查询操作处理

    标题 "JDBC_DBUtils查询操作处理" 涉及到的是Java编程中使用JDBC(Java Database Connectivity)和DBUtils工具库进行数据库查询的操作。DBUtils是Apache组织提供的一款开源的Java数据库操作工具,它简化了JDBC的使用...

    Apache-DBUtils封装JDBC

    使用了Apache Commons DbUtils库中的类和方法封装JDBC,使用了org.apache.commons.dbutils.QueryRunner、org.apache.commons.dbutils.handlers.BeanHandler和org.apache.commons.dbutils.handlers.BeanListHandler等...

    基于Java语言的JDBC操作封装与简化数据查询的commons-dbutils设计源码

    “基于Java语言的JDBC操作封装与简化数据查询的commons-dbutils设计源码”项目正是为了解决这一问题而生。该项目基于Java语言,利用commons-dbutils这一库,通过封装和简化JDBC操作,提供了一种高效、简洁的数据访问...

    JDBC连接使用的包与DBUtils工具包

    4. **异常处理**: DBUtils封装了JDBC的异常,提供更友好的异常类型,如`DbException`,使开发者更容易处理数据库操作中的错误。 使用DBUtils与JDBC的对比: - **简化代码**:DBUtils隐藏了许多JDBC的繁琐细节,比如...

    commons-dbutils的再封装jar包

    commons-dbutils的再封装jar包,Blog文件的示例代码

    jdbc工具类-DBUtils1.6版jar包-正式版下载

    Commons DbUtils作为一款轻量级的JDBC封装工具,在不影响性能的前提下极大地简化了数据库操作的复杂度,提升了开发效率。无论是对于初学者还是有经验的开发者来说,都是一个值得学习和使用的优秀工具。通过本文的...

    Apache Dbutils JDBC 框架demo代码

    commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司...

    DbUtils-1.7.zip

    DbUtils的主要功能是作为一个数据库访问的辅助工具,它基于Java的JDBC API进行封装,提供了一套简单易用的API,使得开发者可以更加便捷地执行数据库的CRUD(创建、读取、更新、删除)操作。它的设计目标是减少编写...

    commons_dbutils1.4_itmop.com_JDBC_开源工具类库.zip

    - **简单易用**: DBUtils通过简单的API封装了JDBC的复杂性,使得开发者可以专注于业务逻辑,而不是数据库交互的细节。 - **异常处理**: 自动处理JDBC的异常,确保资源被正确释放,避免内存泄露和资源耗尽。 - **...

    Apache DBUtils使用总结

    DBUtils 最主要的功能是对 JDBC 结果集进行封装,能够将查询结果直接转换为 JavaBean 对象,从而减轻开发人员的工作负担,避免手动处理结果集时可能出现的错误。 在使用 DBUtils 时,需要注意以下几点: 1. **混用...

    JDBC_java数据库连接表格(带jar包封装类代码等).xmind

    Xmind文件下载,表格梳理数据库连接相关知识,包括jdbc,DBUtils,Druid,dbcp,d3p0等知识点,JDBC_java数据库连接表格(带jar包,封装类,代码等),

    JSP+Servlet+DBUtils

    1.Servlet 封装,使用反射Servlet支持多个方法(BaseServlet抽取) 2.使用BaseServlet解决中文乱码问题 http://blog.csdn.net/justerdu/article/details/50893602 3.使用Filter过滤器解决中文乱码问题 4.使用EL表达式...

    commons-dbutils-1.3.zip

    DBUtils的核心理念是基于数据库连接池和对JDBC API的封装,以提高性能和易用性。在导入并使用“commons-dbutils-1.3.jar”后,开发者可以利用其提供的便捷功能,如QueryRunner类,用于执行SQL查询和更新操作,以及...

    DBUtils工具

    DBUtils将常见的JDBC编程模式进行了抽象和封装,避免了编写大量的样板代码,使得数据库访问更为简洁高效。下面将详细介绍DBUtils的核心功能和使用方法。 1. **连接管理**: DBUtils提供了`BasicDataSource`类,这...

    DbUtils技术文档.pdf

    DbUtils是一个小型的Java类库,主要目的是简化Java中的JDBC操作。JDBC(Java Database Connectivity)是Java平台的标准数据库访问API,允许应用程序与各种数据库进行交互。然而,直接使用JDBC编写代码时会遇到一些...

    dbutils-1.3架包和源码

    4. **Exception Handling**:DBUtils封装了JDBC异常,将其转换为更具体的运行时异常,如`QueryException`和`UpdateException`,这使得错误处理更直观。 5. **Connection Pool Integration**:DBUtils可以轻松地与...

    Dbutils 的jar包

    5. **异常处理**:Dbutils 将 JDBC 抛出的 SQLException 进行封装,转换为自己的运行时异常,如 `DataAccessException` 和 `SQLExceptions`,这使得异常处理更加简洁,避免了层层捕获 SQLException。 在实际使用中...

    dbutils JDBC第三方工具类

    dbutils的核心理念是将JDBC操作模板化,将常见的数据库操作如查询、更新、插入等封装成易于使用的API,从而减轻开发者的负担。这个库主要包含以下几个关键组件: 1. **QueryRunner**: 这是dbutils的核心工具类,...

    模仿DBUtils(自己模仿DBUtils写的简易DBUtils)

    8. **JDBC兼容性**: 虽然DBUtils是基于JDBC的,但它抽象了JDBC的一些复杂性,使得开发者无需直接与JDBC API打交道。这个模仿版本也应该做到了这一点,让你的代码更专注于业务逻辑而不是数据库细节。 通过学习和实践...

Global site tag (gtag.js) - Google Analytics