oracleutil.java如下:
package com.oracleutil;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
public class OracleUtil {
private String dataSourceName;
private DataSource ds;
public OracleUtil() {
}
public OracleUtil(String dataSourceName) {
this.dataSourceName = dataSourceName;
}
public void setDataSourceName(String dataSourceName) {
this.dataSourceName = dataSourceName;
}
public void init() {
try {
Context initContext = new InitialContext();
this.ds = (DataSource) initContext.lookup(dataSourceName);
initContext.close();
} catch (NamingException e) {
e.printStackTrace();
}
}
public int update(String sql, String[] params) {
QueryRunner qr = new QueryRunner(ds);
int result = 0;
try {
result = qr.update(sql, params);
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
public Object query(String sql, String[] params, ResultSetHandler rsh) {
QueryRunner qr = new QueryRunner(ds);
Object results = null;
try {
results = qr.query(sql, params, rsh);
} catch (SQLException e) {
e.printStackTrace();
}
return results;
}
}
我用的驱动是class12.java,运行的时候报错java.lang.NoSuchMethodError: com.oracleutil.OracleUtil.update(Ljava/lang/String;Ljava/lang/Object;)I
请指教!
问题补充:successfulroof 写道
这不是驱动的问题,是你程序的问题。
你调用的时候用的是 update(String[] args,Object[] obj)
但是你定义的是 update(String sql, String[] params)
请教一下咋改正!
OracleUtil程序:
package com.oracleutil;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
public class OracleUtil {
private String dataSourceName;
private DataSource ds;
public OracleUtil() {
}
public OracleUtil(String dataSourceName) {
this.dataSourceName = dataSourceName;
}
public void setDataSourceName(String dataSourceName) {
this.dataSourceName = dataSourceName;
}
public void init() {
try {
Context initContext = new InitialContext();
this.ds = (DataSource) initContext.lookup(dataSourceName);
initContext.close();
} catch (NamingException e) {
e.printStackTrace();
}
}
public int update(String sql, String[] params) {
QueryRunner qr = new QueryRunner(ds);
int result = 0;
try {
result = qr.update(sql, params);
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
public Object query(String sql, String[] params, ResultSetHandler rsh) {
QueryRunner qr = new QueryRunner(ds);
Object results = null;
try {
results = qr.query(sql, params, rsh);
} catch (SQLException e) {
e.printStackTrace();
}
return results;
}
}
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page
import="java.text.SimpleDateFormat"%>
<%@ page import="com.StringUtil"%>
<%@ include file="/header.jsp"%>
<jsp:useBean id="db" class="com.oracleutil.OracleUtil" scope="request"></jsp:useBean>
<jsp:useBean id="gb" class="com.guestbook.Guestbook" scope="request"></jsp:useBean>
<%request.setCharacterEncoding("utf-8"); %>
<jsp:setProperty property="*" name="gb" />
<%
String sql = "insert into guestbook (id,name,email,phone,title,content,time) values(gb_seq.nextval,?,?,?,?,?,?)";
int result = 0;
String name = gb.getName();
String title = gb.getTitle();
if (StringUtil.validateNull(name)) {
%>
对不起,姓名不能为空,请您重新输入!<br>
<a href="<%=context%>/addMessage.jsp">添加新的留言</a><br>
<%} else if (StringUtil.validateNull(title)) {%>
对不起,主题不能为空,请您重新输入!<br>
<a href="<%=context%>/addMessage.jsp">添加新的留言</a><br>
<% } else {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String param[] = { StringUtil.filterHtml(name), StringUtil.filterHtml(gb.getEmail()),
StringUtil.filterHtml(gb.getPhone()), StringUtil.filterHtml(title),
gb.getContent(), sdf.format(new java.util.Date()) };
db.setDataSourceName("java:/comp/env/jdbc/oracleds");
db.init();
result = db.update(sql, param);
if (result == 0) {
%>
对不起,添加留言不成功,请您重新输入!<BR>
<a href="<%=context%>/addMessage.jsp">添加新的留言</a><BR>
<%} else { %>
祝贺您,成功添加留言。<BR>
<a href="<%=context%>/getMessages.jsp">查看所有留言内容</a><BR>
<%}
}%>
<%@ include file="/footer.jsp" %>
相关推荐
* 提高安全性:JavaBean可以隐藏数据库连接细节,提高安全性。 使用JavaBean连接数据库的注意事项: * 需要正确配置数据库驱动包和连接字符串。 * 需要正确处理异常,避免数据库连接泄露。 * 需要正确关闭连接和...
本例子通过一个具体的JavaBean实现展示了如何创建和管理数据库连接池。这个JavaBean可能包含以下属性: 1. 数据库URL:例如`jdbc:mysql://localhost:3306/mydatabase` 2. 用户名:用于连接数据库的用户名 3. 密码:...
在这个例子中,`getConnection()`方法创建并返回一个数据库连接。我们使用`Class.forName()`来加载JDBC驱动,并通过`DriverManager.getConnection()`建立连接。`closeConnection()`方法用于关闭连接,确保资源得到...
总的来说,"数据库表生成javabean工具及源代码(修正版)"是Java开发中的一个实用工具,它简化了数据模型到代码的转换过程,尤其适用于数据库驱动的应用开发。合理利用这类工具,可以优化开发流程,让开发团队更加...
在 Java 开发中,数据库操作是一个非常重要的部分,但是直接使用 Java.sql 包中的类来操作数据库,会带来一些问题,例如资源未释放的问题。为了解决这些问题,开发者们通常会将数据库操作封装到 Javabean 中,以隐藏...
//定义Linkdb类的一个对象。 public Pagi()//定义构造器,初始化每页显示的主题数和数据库的连接。 { intPageSize=4; //每页显示的记录数目 db = new DB(); } //Countsql:总记录的Query字符串。[形式为select ...
JavaBean部分的核心是一个名为`conn`的类,它实现了数据库连接和查询操作。`conn`类导入了必要的`java.sql`包,并定义了数据库驱动、连接字符串和其他变量。`conn`类的构造函数注册了JDBC驱动`sun.jdbc.odbc....
在Java编程中,数据库连接是不可或缺的一部分,尤其是在开发Web应用程序时。本文将深入探讨如何在Java中实现数据库连接,包括直接使用Java类、利用JSP和JavaBean以及使用Tomcat连接池三种方法。 首先,我们来看直接...
在这个案例中,JavaBean 封装了一个用于数据库连接的类 `Conn`。该类包含了连接数据库、执行 SQL 更新操作和执行 SQL 查询操作的方法。下面将详细介绍这几个方面: 1. **数据库连接配置**: - 类 `Conn` 定义了...
包括用MyEclipse连接数据库生成JavaBean,但多多少少还是会有一些不尽人意的地方,包括表和表字段的comment总是无法生成,而且还会生成很多无用的注释代码,让代码看起来一点都不干净,配置非常繁琐等等问题。...
4. **连接数据库**:在JSP或JavaBean中配置数据库连接,使用JDBC(Java Database Connectivity)接口与数据库交互。 5. **实现功能**:实现注册、登录、查询、添加、修改和删除学生信息等功能。 6. **测试**:最后,...
例如,使用JavaBean可以创建一个数据库连接池,提供给应用程序使用。使用Servlet可以实现数据库连接池的管理和分配。使用JSP可以实现数据库连接池的配置和管理。使用XML可以实现数据库连接池的配置和定义。 数据库...
下面是一个示例,展示如何使用JavaBean执行一个SQL查询: ```java public class UserBean { private String name; private int age; // 构造函数、getter和setter略 public static List<UserBean> getUsers...
- 示例配置文件:`example.config.properties`,展示如何配置数据库连接等信息。 - 依赖库:可能包含一些必要的JAR文件,如数据库驱动等。 - 模板文件:用于生成JavaBean代码的模板,可能可以自定义。 通过上述...
标题中的“基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v5.8.0版)”指的是一个软件工具,它能够帮助开发者快速地根据数据库结构自动生成相关的Java代码和文档,大大提高了开发效率。...
本篇文章将深入探讨一个纯JSP+Javabean+MySQL构建的学生信息管理系统,旨在为JavaWeb新手提供详尽的学习资源。 首先,我们要理解这个系统的架构。JSP(JavaServer Pages)是一种动态网页技术,允许开发者在HTML中...
2. **JavaBean创建**:创建一个名为`CDBean`的Java类,对应`CD`表的结构,封装字段并提供getter和setter方法。此外,还需定义一些业务方法,如`addCD()`, `deleteCD()`, `updateCD()`和`searchCD()`。 3. **Servlet...