封装数据库操作,目的就是为了隐藏java.sql包内的类,在编码中去掉核心的数据库操作代码。这种方式,不能适应大数据量的查询,不过如果真的碰到大数据量的查询,那用什么封装都不好,还是得直接数据库操作.
封装数据库操作,目的就是为了隐藏java.sql包内的类,在编码中去掉核心的数据库操作代码。以杜绝直接数据库操作容易带来的资源未释放问题。同时也减少了数据库操作的编码量。
但是很多网友在封装时,却喜欢返回结果集(ResultSet对象),那么这个封装就没有意义了。
1. 又是直接操作核心数据库类,跟封装前几乎没什么变化。
2. 结果集总是依赖于它使用的连接(Connection)对象。因此当连接对象在方法内被关闭后,你返回的ResultSet就没有用了。
如果真的要获得查询数据库的结果集,就把结果集对象内的所有数据,转储到以Map为元素的List对象内。
当然,这种方式,不能适应大数据量的查询,不过如果真的碰到大数据量的查询,那用什么封装都不好,还是得直接数据库操作.
))
下面是简单的数据库操作Javabean的代码
DbWrapper.java
import java.sql.*;
import java.util.*;
public class DbWrapper
{
// 定义连接池对象为静态变量,将一直存在,直到工作目录关闭。
private static DataSource ds = null;
// 1.用连接池的方式获得连接
// 如果不是做多数据库程序,推荐使用此方法
// 相关内容:在tomcat管理界面配置连接池
public static Connection openConnection() throws Exception
{
// 只需要初始化1次
if ( ds == null )
{
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/MyDataSource");
}
return ds.getConnection();
}
// 2.用jdbc驱动获得连接
// 相关内容:JSP数据库连接大全
public static Connection openConnection(
String driver,
String url,
String username,
String password)
throws Exception
{
Class.forName(driver).newInstance();
return DriverManager.getConnection(url, username, password);
}
public static void closeConnection(Connection conn) throws Exception
{
if ( conn != null )
{
conn.close();
}
}
public static int executeUpdate(String sql) throws Exception
{
int count = 0;
Connection conn = null;
Statement stmt = null;
try
{
conn = openConnection();
stmt = conn.createStatement();
count = stmt.executeUpdate(sql);
}
catch ( Exception e )
{
throw e;
}
finally
{
closeConnection(conn);
}
return count;
}
public static List executeQuery(String sql) throws Exception
{
List list = new ArrayList();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
conn = openConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
while ( rs.next() )
{
Map map = new HashMap();
for ( int i = 1; i < = rsmd.getColumnCount(); i++ )
{
map.put(rsmd.getColumnName(i), rs.getObject(i));
}
list.add(map);
} }
catch ( Exception e )
{
e.printStackTrace();
}
finally
{
if ( rs != null ) rs.close();
closeConnection(conn);
}
return list; }
}
使用示例:
// 1.对于insert, update, delete语句int count = DbWrapper.executeUpdate(sql);
// 2.对于selete语句
java.util.List list = DbWrapper.executeQuery(sql);
// 方法一:按名字取值,注意大小写是严格区分的
for ( int i = 0; i < list.size(); i++ )
{
java.util.Map map = (java.util.Map)list.get(i);
out.println(mag.get("column_name").toString());
}
// 方法二:遍历取值
for ( int i = 0; i < list.size(); i++ )
{
java.util.Map map = (java.util.Map)list.get(i);
for (java.util.Iterator it = map.keySet().iterator(); it.hasNext();)
{
String column_name = it.next().toString()); // 取值时注意null判断
out.println(column_name + " = " + map.get(column_name) == null ? "" : map.get(column_name).toString());
}
}
分享到:
相关推荐
JAVA 基础:将数据库操作封装到 Javabean 文档信息 在 Java 开发中,数据库操作是一个非常重要的部分,但是直接使用 Java.sql 包中的类来操作数据库,会带来一些问题,例如资源未释放的问题。为了解决这些问题,...
### 将数据库操作封装到JavaBean #### 一、引言 在软件开发过程中,数据库操作是必不可少的一部分。为了提高代码的复用性与可维护性,通常会将数据库的操作进行封装,形成一种统一的数据访问层(Data Access Layer,...
本教程将详细阐述如何在JSP中建立数据库连接以及如何将数据库操作封装到JavaBean中,以便实现更高效、更可维护的代码。 首先,我们要了解JSP的基础。JSP是一种服务器端脚本语言,用于创建动态网页。它允许开发者在...
Java Web开发 JavaBean封装数据库操作实例
使用JavaBean连接数据库,可以将数据库操作封装在JavaBean中,从而简化数据库操作和数据访问。 JavaBean连接数据库的步骤: 1. 导入数据库驱动包:在JavaBean中,需要导入数据库驱动包,以便连接数据库。在本例中...
本文将详细讲解如何将数据库实体对象转换为Java Bean对象,以实现数据的有效封装和处理。 首先,我们需要理解数据库实体对象和Java Bean的概念。数据库实体对象通常指的是在数据库中的一条记录,它包含了表中的所有...
在本主题中,我们将深入探讨如何使用JavaBean进行数据库操作,这对于任何Java开发者来说都是一个重要的技能。 首先,我们需要理解JavaBean的基本规则。JavaBean类通常具有默认的无参构造函数,属性是私有的...
【标题】:“java 毕业设计 项目 数据库 servlet+javabean”指的是一个基于Java技术的毕业设计项目,该项目结合了数据库操作、Servlet技术和JavaBean组件来实现特定的功能。在Java Web开发中,Servlet是用于处理HTTP...
在本实例"JAVA100例之实例88JavaBean连接数据库"中,我们将探讨如何利用JavaBean来实现与数据库的交互。数据库连接是Java开发中的基础技能,它允许我们读取、写入或更新存储在数据库中的信息。 首先,我们需要了解...
我学习过程中自己参考书本写的,注释详细,我也自己写了使用说明放在里面,...你要是要学javabean,还想知道javabean怎么封装数据库,这个最好不过了. 数据库的链接你得改下用户名,密码之类东西,你打开.java文件就会看懂的.
此工具允许开发者连接到数据库,自动获取数据库中的表结构,并将其转换为符合Java Bean规范的类,供Java应用程序使用。这里我们将深入探讨这个“数据库表生成javabean工具”以及其在开发中的应用。 首先,让我们...
这个名为"使用javabean封装数据库操作1.rar_bean_javabean_javabean 数据库_planet7r1"的压缩包,显然包含了关于如何使用JavaBean来处理与数据库交互的知识点。下面我们将深入探讨这一主题。 首先,JavaBean的基本...
Java JDBC封装类,带增删改查例子,支持oracle,MySql,hsqldb 等,支持事务,返回数据格式 支持二维数组,MAP格式,以及javabean对象。有利于初学者DbDemo.java为demo,Connect为jdbc封装类,可以作为项目共通类使用。
使用 Java 反射封装 JavaBean <br> 说明:这个程序在没有使用Hiberante时挺有用的 需要一个数据库查询语句 对应的JavaBean的全名(现在是Class,原来Class.getName()) 返回List包含多个JavaBean
JAVA读取Excel表格,建数据库建表,并...MssqlDBHelper.java:对应sqlserver底层操作类,包括建库、建表、同步表及将数据库中tableMate和columnMate封装成javabean SyncDbBiz.java 业务层,包括同步数据库和生成sql.
在Java Web开发中,为了提高代码的复用性和可维护性,通常会将数据库访问操作封装到JavaBean中。本案例主要讲解如何利用JavaBean来实现对数据库的通用访问,包括连接数据库、执行查询和更新操作,以及关闭数据库连接...
在实际开发中,通常需要将数据库中的每一列映射到JavaBean的属性上,以便于在业务逻辑中进行数据操作。而此工具则能自动完成这一过程,支持MySQL和Oracle两大主流关系型数据库。 1. **MySQL与Oracle支持**: - ...
本文将深入探讨如何使用Servlet和JavaBean来实现对数据库的基本操作:增加(Insert)、删除(Delete)、查询(Select)和修改(Update)。 首先,Servlet是Java Servlet技术规范的一部分,它是一个服务器端的Java...
在本案例中,"student"可能代表一个JavaBean,它包含了与学生相关的属性(如ID、姓名、年龄等)和操作这些属性的方法(如获取、设置和保存数据到数据库)。JavaBean的规范要求它们具有公共无参构造器,属性应有对应...
在Web开发领域,JSP(JavaServer Pages)、JavaBean和Servlet是三个核心组件,它们共同构建了动态网站的基础架构。本篇文章将深入探讨如何利用这三者来开发一个实用的CD管理系统,以此为例,展示在实际项目中如何...