控制器组件JDBC数据库操作的JAVABEAN

在控制器组件中,我们最经常做的是与数据库进行交互。这里,我们写一个javabean,用于封装与数据库的操作,主要是连接数据库,插入修改删除等更新操作和查询操作。代码很简单如下(需完善):

Java代码

package com.newland.nlie.highway.pub_com;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.naming.Context;
import javax.sql.DataSource;

public class DatabaseBean extends java.lang.Object {
  private Connection conn = null;

  private Statement stmt = null;

  /**
   * 构造函数 
   */
  public DatabaseBean() {
  }

  /**
   * 通过JNDI建立连接 
   */
  private void build_conn() throws Exception {
    try {
      Context ctx = init_bean.get_init_ctx();
      // forJBoss 
      Object obj = ctx.lookup("java:OracleDS");
      // forWebSphere
      // Object obj = ctx.lookup("Pub_DataSource");
      DataSource ds = (DataSource) obj;
      this.conn = ds.getConnection();
      this.stmt = conn.createStatement();
    } catch (Exception ex) {
    }
  }

  /**
   * 获取PreparedStatement对象
   */
  public PreparedStatement get_statment(String sql)
      throws java.lang.Exception {
    try {
      if (conn == null)
        build_conn();
      PreparedStatement preparedStatement = conn.prepareStatement(sql);
      return preparedStatement;
    } catch (Exception ex) {
      throw ex;
    }
  }

  /**
   * 执行更新操作
   */
  public void execute_update(String sql) throws Exception {
    try {
      if (conn == null)
        build_conn();
      stmt.executeUpdate(sql);
    } catch (Exception ex) {
    }
  }

  /**
   * 执行查询操作
   */
  public ResultSet execute_query(String sql) throws Exception {
    ResultSet rs = null;
    try {
      if (this.conn == null)
        build_conn();
      rs = stmt.executeQuery(sql);
    } catch (Exception ex) {
    }
    return rs;
  }

  /**
   * 设置是否自动提交
   */
  public void set_auto_commnit(boolean ac) {
    try {
      if (this.conn == null)
        build_conn();
      conn.setAutoCommit(ac);
    } catch (Exception ex) {
    }
  }

  /**
   * 回滚
   */
  public boolean rollback() {
    try {
      if ((conn != null) && (!conn.getAutoCommit())) {
        conn.rollback();
      }
      return true;
    } catch (SQLException ex) {
      return false;
    }
  }

  /**
   * 关闭数据库 
   *
   */
  public void close() {
    try {
      if (stmt != null)
        stmt.close();
      if (conn != null) {
        if (!conn.isClosed()) {
          conn.close();
        }
      }
    } catch (SQLException ex) {
      ex.printStackTrace();
    }
  }
}

完成后,在控制器组件里可以通过DatabaseBean的execute_update()方法来执行更新操作,通过execute_query()来执行查询操作。这里执行的查询操作后把结果集放在ParamBean里(关于parambean的内容请参看前一篇的文章《如何在控制器组件与模型组件相互传送数据》)。至此,完成了这个DatabaseBean的说明:)

时间: 2024-10-29 23:39:47

控制器组件JDBC数据库操作的JAVABEAN的相关文章

使用组件封装数据库操作(二)

封装|数据|数据库|组件封装 使用组件封装数据库操作(二)前段日子发表的文章,数据库的连接代码可以直接在ASP文件中显示出来.这次又进行了一次封装. 打开vb,新建Activex控件,工程名称为WebDb,类模块名称为GetInfomation 引用"Microsoft Activex Data Object 2.6 Library " Private Conn As ADODB.Connection Private Rs As ADODB.Recordset '作用:判断数据库是否正

使用spring jdbc template简化jdbc数据库操作实例代码

文章地址: http://blog.csdn.net/5iasp/article/details/12206793 作者: javaboy2012 Email:yanek@163.com qq:    1046011462   使用spring jdbc template简化jdbc数据库操作实例代码   包括如下几个类:   1. DAO接口   package com.test; import java.util.List; import org.springframework.jdbc.c

使用组件封装数据库操作(一)

其实,大家在书写asp程序时,最担心的可能就是数据库的连接信息,会被一些人看到,进行一些破坏.下面我们用vb6.0来做一个动态链接库(.dll)来隐藏数据库的连接信息. 启动vb6.0,新建-->Active  dll工程.单击"工程"-->引用,选择"microsoft  active  server  pages  object  library" 和"microsoft  activeX  data  objects  2.1  libr

IOS开发:Unity3D角色控制器组件研究

  使用它的方法如下,首先打开Unity游戏引擎编辑器,然后在Project视图中右键选择Import Package -> Charactr Controller(角色控制器)把它导入我们的工程中.如下图所示,第一人称与第三人称的组建已经加入Project视图中.3rd Person Controller 表示第三人称控制器,First Person Controller表示第一人称控制器. 开发:Unity3D角色控制器组件研究-"> 如下图所示,我们将FirstPerson C

将数据库操作封装到Javabean

封装|数据|数据库 封装数据库操作,目的就是为了隐藏java.sql包内的类,在编码中去掉核心的数据库操作代码.以杜绝直接数据库操作容易带来的资源未释放问题.同时也减少了数据库操作的编码量. 但是很多网友在封装时,却喜欢返回结果集(ResultSet对象),那么这个封装就没有意义了.1. 又是直接操作核心数据库类,跟封装前几乎没什么变化.2. 结果集总是依赖于它使用的连接(Connection)对象.因此当连接对象在方法内被关闭后,你返回的ResultSet就没有用了. 如果真的要获得查询数据库

JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle

js|oracle|分页|数据|数据库|显示 <%@ page contentType="text/html;charset=8859_1" %> <% //变量声明 java.sql.Connection sqlCon; //数据库连接对象 java.sql.Statement sqlStmt; //SQL语句对象 java.sql.ResultSet sqlRst; //结果集对象 java.lang.String strCon; //数据库连接字符串 java.

让我来教你吧,看这个例子:JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle

js|oracle|分页|数据|数据库|显示 <%--作者:何志强[hhzqq@21cn.com]日期:2000-08-03版本:1.0功能:JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle--%> <%@ page contentType="text/html;charset=8859_1" %> <%//变量声明java.sql.Connection sqlCon; //数据库连接对象java.sql.Statement

在控制器组件与模型组件之间传送数据

MVC框架中,控制器组件与模型组件需要相互传送数据,我们可以写个javaBean来保存. ParamBean这个javaBean本质上是把数据放在hashtable中,并提供了存放和取出数据等方法. 代码如下: Java代码 public class ParamBean implements Serializable { // 操作员用户代码(用于日志显示) private String opr_code = ""; // 用户部门代码(用于日志显示) private String d

教您使用XML封装数据库操作语句的实现

xml|封装|数据|数据库|语句 在项目开发的过程当中,项目组开发成员的编程风格差异和数据库操作语句SQL的灵活性给项目组带来了越来越多的操作和维护难度. 比如: 从user表中取出所有数据,有的人会写成"select * from user",有的人会写成"select all from user",虽然在操作中不会有任何的错误,但在其他人读程序的过程时就会产生不好的感觉. 如果这种程序差异在项目中的数量级很多,那么在开发的过程当中程序就会出现各种各样的风格,在维