打印本文 打印本文 关闭窗口 关闭窗口
JSP中SQL数据库编程技术
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3367  更新时间:2007/11/14 13:08:29  文章录入:mintao  责任编辑:mintao
ers
   )
   AS
    actions
   GO
  */
   
  
  JSP页面中这样使用:
  CallableStatement stmt=con.prepareCall("{call ap_adduser(?,?,?,?)}");
  stmt.registerOutParameter(1,Types.INTEGER,1);//注册输出变量
  stmt.setString(2,"edmund");
  stmt.setInt(3,1);
  stmt.setString(4,"description");
  stmt.execute();
  int userid=stmt.getInt(1);
  stmt.close()

八,使用事务
 1,事务中的操作是一个整体,要么都执行成功要么都不成功:事务开始后,如果所有的改变都正确,则使用commit方法将这些动作全部存入数据库,否则就使用rollback取消所有的改变动作,而这时数据库中的数据和执行事务前的是相同的。
 2,使用事务时应当先用 con.setAutoCommit(false),最后使用commit或者rollback
 3,rollback一般在catch段执行
九,数据库连接池
 1,如果有一个数据库连接请求并且连接中没有连接,则生成一个新的连接。这个连接使用完之后并不关闭它,而是将它放入连接池。在这个过程中,还要判断连接池中的连接是否超期。如果超期则将它关闭。
 2,有很多已有的Connection Pool包可以使用。
 3,一般将Connection Pool作为一个application作用域的变量使用
  <jsp:useBean id="pool" scope="application" class="javastart.tools.ConnectionPool" />
  <%@page import="java.sql.*"%>
  <%@page import="javastart.tools.*"%>
  <!--javastart.tools是你的Connection Pool所在的地方-->
  DBConnection con=null;
  try{
   con=pool.getConnection("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:access","","");
   Statement stmt=con.createStatement();
   stmt.setMaxRows(10);
   String query=request.getParameter("quey");
   ResultSet rs=stml.executeQuery(query);
   ResultSetMetaData rsmd=rs.getMetaData();
  }
  .....
  finally{
   pool.releaseConnection(con);
  }
  
  也可以使用一个Servlet初始化连接池
 

   

上一页  [1] [2] [3] 

打印本文 打印本文 关闭窗口 关闭窗口