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();
}
}
}
}
分享到:
相关推荐
commons-dbutils-1.4DBUtils是对JDBC的简单封装DBUtils是Apache Commons组件中的一员
包含: 数据库 : JDBC+DBUtils 数据源 : C3P0 oracle驱动(可自扩展mysql驱动) 源代码分享
commons-dbutils的再封装jar包,Blog文件的示例代码
commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司...
Xmind文件下载,表格梳理数据库连接相关知识,包括jdbc,DBUtils,Druid,dbcp,d3p0等知识点,JDBC_java数据库连接表格(带jar包,封装类,代码等),
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。
Apache Common DbUtils是操作数据库的组件,对传统操作数据库的类(JDBC)进行二次封装,可以把结果集转化成List。 DbUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。 应用实践小结: 一、...
commons-dbutils-1.3.jar commons-logging-1.0.4.jar commons-pool-1.5.6.jar log4j-1.2.16.jar mysql 驱动务必使用5.0以上版本 连接池的初始化、创建等仔细看构造函数的doc文档,就知道如何操作。我自己用着很方便...
1.Servlet 封装,使用反射Servlet支持多个方法(BaseServlet抽取) 2.使用BaseServlet解决中文乱码问题 http://blog.csdn.net/justerdu/article/details/50893602 3.使用Filter过滤器解决中文乱码问题 4.使用EL表达式...
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能
DBUtils是Java编程中的数据库操作实用工具,小巧简单实用。 DBUtils封装了对JDBC的操作,简化了JDBC操作,减少代码量。
DBUtils封装了对JDBC的操作 简化了JDBC操作 可以少写代码 org apache commons dbutils DbUtils 关闭链接等操作 QueryRunner 进行查询的操作 org apache commons dbutils handlers ArrayHandler :将ResultSet中第一...
dbutils 它不是一个DAO,也不是类似Hibernate的工具, 仅是对已有的JDBC技术进行了一个简单封装。
压缩包中存在DbUtils使用说明文档、jar包以及一个使用样例。commons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,对传统操作数据库的类进行二次封装,可以把结果集转化成List。
简单来讲,这个工具包就是用来更加方便我们操作数据库的,最近工作中使用了一下,感觉确实方便很多,基本告别自己封装JDBC代码对数据库进行增删改查了。代码看着也很简洁。 例如: 增删改查使用的类:QueryRunner类+...
在封装SQL语句之前,我们得知道什么是DAO封装与实体类以及JDBC工具类的封装与连接数据库的具体流程。 封装SQL语句的好处: 封装SQL语句后就可以导包,给其他的工程使用,大大降低开发的强度,减少代码的冗余。...
commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。 springmvc与springmvc 整合demo
DBUtils是个小巧的JDBC轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果集封装成JavaBean,这就为我们做了最枯燥乏味、最容易出错的一大部分工作。
commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢...
Apache组织提供了一个DBUtils工具,他是操作数据库的一个组件,实现了对JDBC的简单封装,可以在不影响性能的情况下大大简化JDBC的编码工作量。