一个完整的JDBC封装类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* JDBC封装类
* @author ZhangShuqing
*
*/
public class DB {
private ResultSet rs;
private Statement stm;
private Connection con;
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=fangtian";
private String classname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String username = "sa";
private String password = "";
/*----------------------------------------------------*/
/**
* 构造函数
*/
public DB(){
try{
Class.forName(classname);//加载数据库驱动
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
/**
* 创建数据库连接
*/
public Connection getCon(){
try{
con=DriverManager.getConnection(url,username,password);
}catch(Exception e){e.printStackTrace(System.err);}
return con;
}
/*----------------------------------------------------*/
/**
* 获取Statement记录
*/
public Statement getStm(){
try{
con=getCon();
stm=con.createStatement();
}catch(Exception e){e.printStackTrace(System.err);}
return stm;
}
/**
* 调法上面的方法,查询数据库,返回单个结果
* 其他类调用过程如下:
* DB db=new DB();
* ResultSet r=db.getrs(sql);
* while(r.next()){
* String s1 = r.getInt(1);
* }
*/
public ResultSet getrs(String sql){
if(sql==null)sql="";
try{
stm=getStm();
rs=stm.executeQuery(sql);
}catch(SQLException e){e.printStackTrace();}
return rs;
}
/*----------------------------------------------------*/
/**
* 获取Statement记录集
*/
public Statement getStmed(){
try{
con=getCon();
stm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
}catch(Exception e){e.printStackTrace(System.err);}
return stm;
}
/**
* 调法上面的方法,查询数据库,返回一个结果集
* 其他类调用过程如下:
* DB db=new DB();
* ResultSet rs=db.getRs(sql);
* if(rs.next()){
* String s1 = r.getInt(1);
* String s2 = r.getInt(2);
* String s3 = r.getInt(3);
* }
*/
public ResultSet getRs(String sql){
if(sql==null)sql="";
try{
stm=getStmed();
rs=stm.executeQuery(sql);
}catch(SQLException e){e.printStackTrace();}
return rs;
}
/*----------------------------------------------------*/
/**
* 对数据库进行更新操作,适合SQL的insert语句和update语句
* 返回一个int值,表示更新的记录数
* 若返回为0,表示更新失败
* 其他类调用过程如下:
* DB db=new DB();
* int i=db.update(sql);
* f(i==0){
* return mapping.findForward("false");
* }
* return mapping.findForward("success");
*/
public int update(String sql){
int num=0;
if(sql==null)sql="";
try{
stm=getStmed();
num=stm.executeUpdate(sql);
}catch(SQLException e){e.printStackTrace();num=0;}
return num;
}
/*----------------------------------------------------*/
/**
* 删除数据库的中数据
* 其他类调用过程如下:
* DB db=new DB();
* db.delete(sql);
*/
public boolean delete(String sql){
boolean ok;
if(sql==null)sql="";
try{
stm=getStmed();
ok=stm.execute(sql);
}catch(SQLException e){e.printStackTrace();}
return true;
}
/**
* 断开数据库连接
* 其他类调用过程如下:
* DB db=new DB();
* db.closed();
*/
public void closed(){
try{
if(rs!=null)rs.close();
}catch(Exception e){e.printStackTrace();}
try{
if(stm!=null)stm.close();
}catch(Exception e){e.printStackTrace();}
try{
if(con!=null)con.close();
}catch(Exception e){e.printStackTrace();}
}
}
分享到:
相关推荐
"JDBC封装方式"可能是包含上述封装策略的源代码文件,如`DBUtil.java`,`UserDAO.java`,`UserDAOImpl.java`等,这些文件共同构成了一个完整的JDBC封装体系。 通过以上介绍,我们可以理解JDBC封装是Java开发中提升...
标题中的“jdbc 连接数据库封装类,可返回map,或者vo(自用)”指的是一个自定义的Java类库,用于简化Java应用程序通过JDBC(Java Database Connectivity)与数据库的交互。这类库通常会提供方便的方法来执行SQL...
标题提到的"类似hibernate的jdbc封装"就是这样的一个实践,它试图在不引入庞大框架的情况下,提供类似Hibernate的便捷性。 首先,我们来了解JDBC(Java Database Connectivity),它是Java中用于连接数据库的标准...
综上所述,这个“jdbc.rar”压缩包提供的内容应该是一个完整的Java JDBC示例,展示了如何利用JDBC进行数据库的增删改查操作,并对这些基本操作进行了封装,提高了代码的可读性和可复用性。对于初学者来说,这是一个...
java连接SqlServer完整代码,工具类,jdbc JDBC工具类的构建 1.资源释放 见https://mp.csdn.net/postedit/86577443 2.驱动防二次注册 ``` Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //...
本项目中,"自己封装的小框架--JDBC封装 Action层封装 手动事务管理"是一个实用的实践案例,旨在提高开发效率,优化代码结构,并确保数据操作的完整性。下面我们将深入探讨这个框架中的主要组成部分及其相关知识点。...
在这个实例中,我们将讨论如何封装一个简单的JDBC辅助类,以实现更高效、安全的数据库操作。 首先,我们看到有一个`Config`类,它是用来读取数据库连接配置的。这个类通常会从配置文件(如`dbconfig.properties`)...
在项目"day04-jdbc"中,你可以找到这个工具类的完整实现和相关的测试用例,这将帮助你更好地理解JDBC工具类的封装和应用。通过这种方式,我们可以有效地利用JDBC进行数据库操作,同时避免了重复的连接管理和异常处理...
这些类构成了一个完整的JDBC辅助库,提供了一套方便的接口来执行数据库操作。通过分析这些类的源代码,我们可以深入理解如何构建自己的数据库操作框架,从而更好地管理数据库连接,优化性能,并降低开发复杂度。
综上所述,`DBUtil`是一个基础的JDBC工具类,实现了基本的数据库连接管理和SQL操作功能,对于简单的Java应用来说已经足够。但在大型项目中,通常会使用ORM框架(如Hibernate、MyBatis)来进一步抽象数据库操作,提供...
总的来说,这个压缩包提供了一个完整的解决方案,包括了连接SQL Server所需的JDBC驱动以及一个已经实现了基础数据库操作的Java类,简化了开发流程,提高了开发效率。对于使用Java进行SQL Server数据库操作的项目,这...
为了实现C++版的“JDBC”,开发者可能创建了一个类库,封装了MySQL Connector/C++的API,设计出与JDBC类似的接口,例如`Connection`、`Statement`、`PreparedStatement`和`ResultSet`等。这样的设计可以降低学习曲线...
在Android开发中,工具类(Utils Class)是程序员经常创建的一种辅助代码结构,用来封装一些通用功能,提高代码的复用性和可维护性。这里提到的"Android 封装的工具类"涵盖了几种关键的模块,包括网络请求、数据库...
这两个模板类封装了JDBC的细节,如打开和关闭连接、处理结果集等,使代码更简洁且易于维护。例如,我们可以编写如下代码来执行一个SQL查询: ```java @Autowired private JdbcTemplate jdbcTemplate; public List...
在对JDBC进行封装时,通常会创建一个数据库连接池,如C3P0、Druid或HikariCP,这能有效管理数据库连接,提高性能。连接池提供连接的获取和释放,确保在多线程环境下安全高效地使用数据库。 接着,我们会创建一个DAO...
在Spring3中,我们可以通过接口定义通用的CRUD(Create, Read, Update, Delete)操作,然后创建一个实现该接口的抽象类,封装共性的JDBC操作,比如执行SQL、处理结果集等。这样,对于每个具体的数据库表,只需要创建...
Struts+jdbc+Oracle完整项目是一个典型的Web应用开发实例,它综合运用了三种关键技术:Struts作为MVC框架,jdbc作为数据库访问层,以及Oracle作为后台数据库系统。这个项目为初学者提供了一个全面理解Web应用开发...
**JDBC封装** JDBC(Java Database Connectivity)是Java语言与数据库交互的标准API。为了提高代码的可复用性和可维护性,开发者通常会将JDBC操作封装到独立的类或模块中。在本项目中,提到的"封装了JDBC的方法...
**JDBC连接的应用详解及完整项目实践** JDBC(Java Database Connectivity)是Java语言中用于与数据库交互的一组接口和类,它为开发者提供了一种标准的、面向对象的方式来访问各种类型的数据库。JDBC允许Java应用...