封装数据库操作,目的就是为了隐藏java.sql包内的类,在编码中去掉核心的数据库操作代码。这种方式,不能适应大数据量的查询,不过如果真的碰到大数据量的查询,那用什么封装都不好,还是得直接数据库操作.
<script type="text/javascript">document.write('<script language="JavaScript" src="+jsurl+"><\/SCRIPT>');</script><script language="JavaScript" type="text/javascript" src="http://www.ctocio.com.cn/ttfiles/ccimages/webservices_pip.js"></script>
封装数据库操作,目的就是为了隐藏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文档信息
jsp数据库连接大全和数据库操作封装到Javabean
Java Web开发 JavaBean封装数据库操作实例
我学习过程中自己参考书本写的,注释详细,我也自己写了使用说明放在里面,...你要是要学javabean,还想知道javabean怎么封装数据库,这个最好不过了. 数据库的链接你得改下用户名,密码之类东西,你打开.java文件就会看懂的.
javabean封装数据库
Java JDBC封装类,带增删改查例子,支持oracle,MySql,hsqldb 等,支持事务,返回数据格式 支持二维数组,MAP格式,以及javabean对象。有利于初学者DbDemo.java为demo,Connect为jdbc封装类,可以作为项目共通类使用。
public Connection getConnection() throws SQLException,InstantiationException,... //根据数据库参数取得一个数据库连接 conn = DriverManager.getConnection(url,user,password); return conn; }
使用 Java 反射封装 JavaBean <br> 说明:这个程序在没有使用Hiberante时挺有用的 需要一个数据库查询语句 对应的JavaBean的全名(现在是Class,原来Class.getName()) 返回List包含多个JavaBean
根据mysql数据库自动生成对应的javabean,附带jdbc连接池工具类封装,支持Resultset转List javabean对象
本文介绍了以SQLServer为例编写一个简单的数据库连接工具类,把它封装到web项目的(WEB-INF/classes/)目录下,在Java或JSP页面引入就可以实现了。
jsp的标准动作的用法,适合初学者,里头含有他人关于中文乱码的 ...总结,实验报告加源代码掌握如何操作session对象,会使用session相关的属性和方法,Map、Set对象的用法。;利用session实现购物车功能。
用JSP+JavaBean+Servlet开发的数据库应用实例——CD管理系统,有完整的工程源码,并且利用它演示在Servlet中连接和使用MySQL数据库。
Java Web应用开发 43 课堂案例-应用JavaBean封装数据库访问操作.docx 学习资料 复习资料 教学资源
简易的bbs留言,采用servlet+javabean+jsp结构,数据库操作封装在javabean中
JAVA读取Excel表格,建数据库建表,并...MssqlDBHelper.java:对应sqlserver底层操作类,包括建库、建表、同步表及将数据库中tableMate和columnMate封装成javabean SyncDbBiz.java 业务层,包括同步数据库和生成sql.
这一篇通过JAVA读取Excel,将Excel表结构同步到数据库中,并生成java实体类。与上一篇类似,这里只介绍类说明,具体实现,可查看源码。 流程: 1:初始化数据库-->创建目标库-->创建元数据表 2:读取Excel-->封装为...
利用传统Jsp+JavaBean技术,对新闻发布系统的后台进行管理。数据库为sqlserver,利用JDBC链接数据库的。同时把数据库封装在JavaBean中。
采用Spring Boot+Hbase+kafka搭建,封装了通过JavaBean的方式操作Hbase
在 JavaBean 中,可以将控制逻辑、值、数据库访问和其他对象进行封装,并且其可以被其他应用来调用。实际上,JavaBean 就是一种 Java 的组件技术。JavaBean 的作用是向用户提供实现特定逻辑的方法接口,而具体的实现...