网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用cos进行文件上传.
.JAVA中配置环境变量设置方法大全.
.JAVA 树中 按最长路径行驶.
.JAVA:配置文件读取器.
.一个验证歌德巴赫猜想的小程序.
.Java中使用正则表达式验证本地化.
.详细解析 JavaBeans 与 Ejb 的区.
.EJB技术的数据库应用(1).
.J2SE综合 使用条件运算符的阵痛.
.Java中Static、this、super、fin.
.Struts入门经验.
.JAVA相关基础知识(6).
.使用EclipseME开发J2ME程序.
.ScriptEngineMinorVersion 函数.
.FCKeditor编辑器在JAVA中的使用与.
.JDBCTM 入门指南(1).
.谈谈J2SE中的序列化之一个感性的.
.J2ME Timer - 更简单的实现多任务.
.通过实例学习Java对象的构造过程.
.MIDP1.0-五子棋1.1读后的修改.

将数据库操作封装到Javabean

发表日期:2008-1-5



  封装数据库操作,目的就是为了隐藏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
上一篇:接收网络服务器发送来的数据 人气:598
下一篇:介绍final 人气:1445
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐