添加,删除,修改,查询的解决方案 jsp 显示servlet作一下调度javabean实现具体的逻辑操作 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的说得对,你在javabean里边封装需要的逻辑方法 在javabean中做:1.查询:select * from 表名 where 条件2.修改:update 表名 set 字段="改成的量" where 条件3.删除:delete 表名 where 条件4.增加:insert 表名 ( 字段) value (变量) 如果在javabean中做添加,删除,修改,查询,我觉得在JSP中就可以用<jsp:useBean id=......>直接用了,那还要servlet干什么用呢? servlet用来处理逻辑方面的判断,比如说是用add,update或者del等,然后再调用相应的bean的具体的方法! 有没有servlet这个方面的具体代码看看啊 利用javabean轻松实现对数据库的连接、查询以及增删改 -------------------------------------------------------------------------------- 我们在做jsp开发的时候,经常需要对数据库进行查询及增删改,而这些操作使用的又是非常频繁,因此,我写了一个javabean,来实现与数据库的连接以及对数据库的增删改。现在拿出来与大家共享,希望大家尊重作者的劳动,使用时保留作者信息以及版本信息等等,谢谢!QueryBean.java:pacakage operate_db;/*** Title: select insert update and delete* Description: select insert update and delete* Copyright: Copyright (c) 2001* @author Lci21* @version 1.0*/import java.sql.*;public class QueryBean{ public String query_statement; /*定义sql语句*/public String param[]; /*查询条件,或者是新的记录*/public ResultSet result=null; public Connection conn;public void setParam(String[] param){this.param=param;}public void setQuerystatement(String query_statement){this.query_statement=query_statement;}public void setConnection(String driverName,String jdbcURL,String username,String passwd) throws Exception{Connection conn1;Class.forName(driverName);conn1=DriverManager.getConnection(jdbcURL,username,passwd);conn1.setAutoCommit(false);this.conn = conn1;}/*获取查询结果*/public ResultSet getResult() {try{PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);if (param!=null)for(int i=0;i<param.length;i++)select_stm.setString(i+1,param[i]);result=select_stm.executeQuery(); }catch(Exception e){System.out.println(e);}return result;}/*对数据库进行增加记录操作*/ public void insertRecord() throws SQLException,java.io.UnsupportedEncodingException{try{PreparedStatement insert_stm=conn.prepareStatement(query_statement);if (param!=null)for(int i=0;i<param.length;i++)insert_stm.setString(i+1,param[i]);insert_stm.executeUpdate();insert_stm.close();conn.commit();}catch(Exception e){System.out.println(e);conn.rollback();} }/*对数据记录进行更改操作*/ public void updateRecord() throws SQLException,java.io.UnsupportedEncodingException{try{PreparedStatement update_stm=conn.prepareStatement(query_statement);if (param!=null)for (int i=0;i<param.length;i++)update_stm.setString(i+1,param[i]);update_stm.executeUpdate();update_stm.close();conn.commit();}catch(Exception e){System.out.println(e);conn.rollback();}}/*删除数据记录*/ public void deleteRecord() throws SQLException,java.io.UnsupportedEncodingException{try{PreparedStatement delete_stm=conn.prepareStatement(query_statement);if (param!=null)for (int i=0;i<param.length;i++)delete_stm.setString(i+1,param[i]);delete_stm.executeUpdate();delete_stm.close();conn.commit();}catch(Exception e){System.out.println(e);conn.rollback();}} }以下给简单地给出了使用的范例,请参考:<%@ page contentType="text/html" import="operate_db.*,java.sql.*" %><jsp:useBean id="querybean" scope="request" class="operate_db.QueryBean" /><%String prm1,prm2,prm3;ResultSet rst=null;prm1 = ...;prm2 = ...;prm3 = ...;querybean.setConnection("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:数据源名","sa","");try{String[] param = {prm1,prm2,prm3};/*设置select语句*/querybean.setQuerystatement("Select * from table where field1 = ? and field2=? and field3=?");querybean.setParam(param);rst=querybean.getResult();}catch(Exception e){System.out.println(e); }while (rst.next()){%><%=rst.getString(1)%><%}%>希望大家尊重作者的劳动,使用时保留作者信息以及版本信息等等,谢谢!如果以后不是很忙的话,我会逐步写一些文章,把自己的一些开发经验与大家分享。初步的文章标题:**利用javabean轻松建立并管理数据库连接池!**利用javabean轻松实现页面导航及数据分页显示!**利用最终类的静态方法轻松实现对中文乱码的处理!**利用javabean轻松实现服务器端对数据类型的检测!**利用javabean轻松实现对服务器端日期格式的检测与处理!..................希望大家尊重作者的劳动,使用时保留作者信息以及版本信息等等,谢谢! : goodflash(another) 非常感谢,一定会尊重你的版权,有servlet的控制程序吗?我很希望能有servlet的代码让我学习一下。 其实用jsp就可以搞定,直接在jsp中放入select,update,delete,insert语句即可 这样的话,每次引用这个Bean都要建立一次数据库联结。我们知道,connection的建立是很耗资源和时间的(至少100ms),建议改进 各位朋友:我在做查询的时候出现一个这样的问题,我的查询语句是Select ysdjid,to_char(date,'yyyy-mm-dd'),namefrom ysdjbwhere ysdjid='"+ysdjid+"' and to_char(date,'yyyy-mm-dd')='"+date+"' and name='"+name"';请哪位告诉我这条语句错在哪里,为何不能查询。我用的是JavaServlet 在Java中你用PreparedStatement处理有参数的SQL语句吧,这样构造sql语句容易出错。 to_char(date,'yyyy-mm-dd')='"+date+"' 能这样写吗? 你可以命名一套命名规范,比如顺序如下:模块-操作-子操作-进一步细分,这就是所谓的消息格式,在jsp向后发请求时就按这个把参数带回去。然后用一个servlet来做分发,按照模块来加载相应的javabean,这点可以借助于XML和接口来实现,比如在servelt里你只得到模块名字,根据这个名字来在XML文件钟找到相关类的详细信息,而这些javabean又都继承了一个接口,这个接口有一个方法doServer()(当然可以有多个,关键看设计了),然后用接口来造型这些加载的类并调用doServer(),至于具体实现就时具体的bean的事了。至于连接数据库可以用连接池。在各个bean中,类名可以是模块名+bean,这样便于加载,在bean里doServer方法里根据消息格式得到操作,再由操作决定去调用doQuery()还是去调用doAdd()等,当然在这里可以加一个验证层,对数据进行检验,然后再决定是否返回。这样消息就要有统一的数据结构,以便传送。并且在那个servlet中要解析,大数据可能要通过流来解决。并且还要有一个返回的数据结构,这样jsp就可以拿到返回的数据了。只是一种肤浅的想法,仅供参考,由此引起的失败及后果概不负责。一切攻击概不理会,因为我目前做的基本上就是这样一个架构,只不过把bean变为ejb,除了一个分发任务的servlet外还有一些其它的辅助servlet,总之还要复杂的多,数据库也用的不是连接池。这种方式便于维护,适合做大系统,小系统不推荐。 如何判断标识用户(单台电脑) 求如何获得系统当前时间 jdk系统变量配置 HttpServletRequest已经没有getLocalAddr方法,如何处理? 高手请进,帮忙看一段代码,请发表自己的意见。 过滤器出问题了。高手帮我看一下。 jsp页面显示swf文件问题 谁给我一个UtralEdit的注册码 请问:怎样在一个table内滚动输出。 参查调查送工具软件 catch捕获错误问题 如何得到显示器的显示频率?
1.查询:select * from 表名 where 条件
2.修改:update 表名 set 字段="改成的量" where 条件
3.删除:delete 表名 where 条件
4.增加:insert 表名 ( 字段) value (变量)
<jsp:useBean id=......>直接用了,那还要servlet干什么用呢?
调用相应的bean的具体的方法!
我们在做jsp开发的时候,经常需要对数据库进行查询及增删改,而这些操作使用的又
是非常频繁,因此,我写了一个javabean,来实现与数据库的连接以及对数据库的增删改。现
在拿出来与大家共享,希望大家尊重作者的劳动,使用时保留作者信息以及版本信息等等,谢谢!
QueryBean.java:
pacakage operate_db;
/**
* Title: select insert update and delete
* Description: select insert update and delete
* Copyright: Copyright (c) 2001
* @author Lci21
* @version 1.0
*/
import java.sql.*;
public class QueryBean
{
public String query_statement; /*定义sql语句*/
public String param[]; /*查询条件,或者是新的记录*/
public ResultSet result=null;
public Connection conn;public void setParam(String[] param)
{
this.param=param;
}
public void setQuerystatement(String query_statement)
{
this.query_statement=query_statement;
}
public void setConnection(String driverName,String jdbcURL,String username,String passwd) throws Exception
{
Connection conn1;
Class.forName(driverName);
conn1=DriverManager.getConnection(jdbcURL,username,passwd);
conn1.setAutoCommit(false);
this.conn = conn1;
}
/*获取查询结果*/
public ResultSet getResult()
{
try
{
PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INS
ENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
if (param!=null)
for(int i=0;i<param.length;i++)
select_stm.setString(i+1,param[i]);
result=select_stm.executeQuery();
}catch(Exception e){System.out.println(e);}
return result;
}/*对数据库进行增加记录操作*/
public void insertRecord() throws SQLException,java.io.UnsupportedEncodingException
{
try
{
PreparedStatement insert_stm=conn.prepareStatement(query_statement);
if (param!=null)
for(int i=0;i<param.length;i++)
insert_stm.setString(i+1,param[i]);
insert_stm.executeUpdate();
insert_stm.close();
conn.commit();
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}/*对数据记录进行更改操作*/
public void updateRecord() throws SQLException,java.io.UnsupportedEncodingException
{
try
{
PreparedStatement update_stm=conn.prepareStatement(query_statement);
if (param!=null)
for (int i=0;i<param.length;i++)
update_stm.setString(i+1,param[i]);
update_stm.executeUpdate();
update_stm.close();
conn.commit();
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
/*删除数据记录*/
public void deleteRecord() throws SQLException,java.io.UnsupportedEncodingException
{
try
{
PreparedStatement delete_stm=conn.prepareStatement(query_statement);
if (param!=null)
for (int i=0;i<param.length;i++)
delete_stm.setString(i+1,param[i]);
delete_stm.executeUpdate();
delete_stm.close();
conn.commit();
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
}
以下给简单地给出了使用的范例,请参考:
<%@ page contentType="text/html" import="operate_db.*,java.sql.*" %>
<jsp:useBean id="querybean" scope="request" class="operate_db.QueryBean" />
<%
String prm1,prm2,prm3;
ResultSet rst=null;
prm1 = ...;
prm2 = ...;
prm3 = ...;
querybean.setConnection("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:数据源名","sa","");try{
String[] param = {prm1,prm2,prm3};
/*设置select语句*/
querybean.setQuerystatement("Select * from table where field1 = ? and field2=? and field3=?");
querybean.setParam(param);
rst=querybean.getResult();
}catch(Exception e){System.out.println(e); }
while (rst.next()){
%><%=rst.getString(1)%>
<%}%>
希望大家尊重作者的劳动,使用时保留作者信息以及版本信息等等,谢谢!
如果以后不是很忙的话,我会逐步写一些文章,把自己的一些开发经验与大家分享。
初步的文章标题:
**利用javabean轻松建立并管理数据库连接池!
**利用javabean轻松实现页面导航及数据分页显示!
**利用最终类的静态方法轻松实现对中文乱码的处理!
**利用javabean轻松实现服务器端对数据类型的检测!
**利用javabean轻松实现对服务器端日期格式的检测与处理!
......
......
......
希望大家尊重作者的劳动,使用时保留作者信息以及版本信息等等,谢谢!
我在做查询的时候出现一个这样的问题,我的查询语句是
Select ysdjid,to_char(date,'yyyy-mm-dd'),name
from ysdjb
where ysdjid='"+ysdjid+"' and to_char(date,'yyyy-mm-dd')='"+date+"' and name='"+name"';
请哪位告诉我这条语句错在哪里,为何不能查询。
我用的是JavaServlet
这样消息就要有统一的数据结构,以便传送。并且在那个servlet中要解析,大数据可能要通过流来解决。并且还要有一个返回的数据结构,这样jsp就可以拿到返回的数据了。
只是一种肤浅的想法,仅供参考,由此引起的失败及后果概不负责。
一切攻击概不理会,因为我目前做的基本上就是这样一个架构,只不过把bean变为ejb,除了一个分发任务的servlet外还有一些其它的辅助servlet,总之还要复杂的多,数据库也用的不是连接池。这种方式便于维护,适合做大系统,小系统不推荐。