`
sober1988
  • 浏览: 9313 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JAVA基础:将数据库操作封装到Javabean

阅读更多
 封装数据库操作,目的就是为了隐藏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 基础:将数据库操作封装到 Javabean 文档信息 在 Java 开发中,数据库操作是一个非常重要的部分,但是直接使用 Java.sql 包中的类来操作数据库,会带来一些问题,例如资源未释放的问题。为了解决这些问题,...

    将数据库操作封装到Javabean

    ### 将数据库操作封装到JavaBean #### 一、引言 在软件开发过程中,数据库操作是必不可少的一部分。为了提高代码的复用性与可维护性,通常会将数据库的操作进行封装,形成一种统一的数据访问层(Data Access Layer,...

    jsp数据库连接大全和数据库操作封装到Javabean

    本教程将详细阐述如何在JSP中建立数据库连接以及如何将数据库操作封装到JavaBean中,以便实现更高效、更可维护的代码。 首先,我们要了解JSP的基础。JSP是一种服务器端脚本语言,用于创建动态网页。它允许开发者在...

    Java Web开发 JavaBean封装数据库操作实例

    Java Web开发 JavaBean封装数据库操作实例

    使用JavaBean连接数据库

    使用JavaBean连接数据库,可以将数据库操作封装在JavaBean中,从而简化数据库操作和数据访问。 JavaBean连接数据库的步骤: 1. 导入数据库驱动包:在JavaBean中,需要导入数据库驱动包,以便连接数据库。在本例中...

    数据库实体对象转换JavaBean_数据库对象转Javabean_

    本文将详细讲解如何将数据库实体对象转换为Java Bean对象,以实现数据的有效封装和处理。 首先,我们需要理解数据库实体对象和Java Bean的概念。数据库实体对象通常指的是在数据库中的一条记录,它包含了表中的所有...

    对数据库操作的javabean

    在本主题中,我们将深入探讨如何使用JavaBean进行数据库操作,这对于任何Java开发者来说都是一个重要的技能。 首先,我们需要理解JavaBean的基本规则。JavaBean类通常具有默认的无参构造函数,属性是私有的...

    java 毕业设计 项目 数据库 servlet+javabean

    【标题】:“java 毕业设计 项目 数据库 servlet+javabean”指的是一个基于Java技术的毕业设计项目,该项目结合了数据库操作、Servlet技术和JavaBean组件来实现特定的功能。在Java Web开发中,Servlet是用于处理HTTP...

    JAVA100例之实例88JavaBean连接数据库

    在本实例"JAVA100例之实例88JavaBean连接数据库"中,我们将探讨如何利用JavaBean来实现与数据库的交互。数据库连接是Java开发中的基础技能,它允许我们读取、写入或更新存储在数据库中的信息。 首先,我们需要了解...

    JavaBean封装MySQL数据库操作(学习版)

    我学习过程中自己参考书本写的,注释详细,我也自己写了使用说明放在里面,...你要是要学javabean,还想知道javabean怎么封装数据库,这个最好不过了. 数据库的链接你得改下用户名,密码之类东西,你打开.java文件就会看懂的.

    数据库表生成javabean工具及源代码(修正版)

    此工具允许开发者连接到数据库,自动获取数据库中的表结构,并将其转换为符合Java Bean规范的类,供Java应用程序使用。这里我们将深入探讨这个“数据库表生成javabean工具”以及其在开发中的应用。 首先,让我们...

    使用javabean封装数据库操作1.rar_bean_javabean_javabean 数据库_planet7r1

    这个名为"使用javabean封装数据库操作1.rar_bean_javabean_javabean 数据库_planet7r1"的压缩包,显然包含了关于如何使用JavaBean来处理与数据库交互的知识点。下面我们将深入探讨这一主题。 首先,JavaBean的基本...

    Java连接数据库 JDBC封装类 带使用例子

    Java JDBC封装类,带增删改查例子,支持oracle,MySql,hsqldb 等,支持事务,返回数据格式 支持二维数组,MAP格式,以及javabean对象。有利于初学者DbDemo.java为demo,Connect为jdbc封装类,可以作为项目共通类使用。

    Java 反射封装 JavaBean

    使用 Java 反射封装 JavaBean &lt;br&gt; 说明:这个程序在没有使用Hiberante时挺有用的 需要一个数据库查询语句 对应的JavaBean的全名(现在是Class,原来Class.getName()) 返回List包含多个JavaBean

    JAVA读取Excel,建库建表,并生成java实体.rar

    JAVA读取Excel表格,建数据库建表,并...MssqlDBHelper.java:对应sqlserver底层操作类,包括建库、建表、同步表及将数据库中tableMate和columnMate封装成javabean SyncDbBiz.java 业务层,包括同步数据库和生成sql.

    Java Web应用开发 43 课堂案例-应用JavaBean封装数据库访问操作.docx

    在Java Web开发中,为了提高代码的复用性和可维护性,通常会将数据库访问操作封装到JavaBean中。本案例主要讲解如何利用JavaBean来实现对数据库的通用访问,包括连接数据库、执行查询和更新操作,以及关闭数据库连接...

    根据数据库表字段自动生成javaBean工具(支持Mysql,Oracle)

    在实际开发中,通常需要将数据库中的每一列映射到JavaBean的属性上,以便于在业务逻辑中进行数据操作。而此工具则能自动完成这一过程,支持MySQL和Oracle两大主流关系型数据库。 1. **MySQL与Oracle支持**: - ...

    用servlet+javabean实现简单的数据库操作

    本文将深入探讨如何使用Servlet和JavaBean来实现对数据库的基本操作:增加(Insert)、删除(Delete)、查询(Select)和修改(Update)。 首先,Servlet是Java Servlet技术规范的一部分,它是一个服务器端的Java...

    简单的jsp+servlet+javaBean访问mysql数据库

    在本案例中,"student"可能代表一个JavaBean,它包含了与学生相关的属性(如ID、姓名、年龄等)和操作这些属性的方法(如获取、设置和保存数据到数据库)。JavaBean的规范要求它们具有公共无参构造器,属性应有对应...

    用JSP+JavaBean+Servlet开发的数据库应用实例——CD管理系统

    在Web开发领域,JSP(JavaServer Pages)、JavaBean和Servlet是三个核心组件,它们共同构建了动态网站的基础架构。本篇文章将深入探讨如何利用这三者来开发一个实用的CD管理系统,以此为例,展示在实际项目中如何...

Global site tag (gtag.js) - Google Analytics