设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 4863|回复: 1

[求助] 请问怎么把javabean连接MYSql的语句拆开写呀?

[复制链接]
发表于 2008-11-2 09:12:04 | 显示全部楼层 |阅读模式
郁闷,我们老师非让我们把Javabean里面的连接语句拆开写达到同样的效果,目的是为了以后别的jsp也可以调用这里面的功能,郁闷死了,看了一个星期也没看懂怎么拆开它。要分成connect(), executeSQL(sql), getHeader(id), getRecord(row, col),等等。

代码如下:
----lab6b.jsp-------

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<jsp:useBean id="links" class="webtech.lab6.links" />

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Lab 6 </title>
  </head>
  <body>

    <h3>The Result was: </h3>
    <table border="1">
      <%=links.getLinks()%>
    </table>
  </body>
</html>

-------links.java-------------

package webtech.lab6;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class links {
  
  public String getLinks() {
   
    String result = " <tr> <td>Nothing Happened </td> </tr>";
    String query = "select * from links;";
    String url = "jdbc:mysql://mysql0.ee.surrey.ac.uk:3306/webtech";
    String driver = "org.gjt.mm.mysql.Driver";
    String uname = "webtech";
    String dpass = "webtech";
   
    Connection dbconn = null;
   
    try {
      Class.forName(driver);
      dbconn = DriverManager.getConnection(url, uname, dpass);
      Statement statement = dbconn.createStatement();
      ResultSet results = statement.executeQuery(query);
      if(results != null) {
        ResultSetMetaData metadata  = results.getMetaData();
        int columns = metadata.getColumnCount();
        
        result = "  <tr>\n\r";
        for (int i = 1; i <= columns; i++) {
          result += "    <td>" + metadata.getColumnLabel(i) + " </td>\n\r";
        }
        result += "  </tr>\n\r";
        
        /* Loop through the columns and append data to our table */
        while(results.next()) {
          result += "  <tr>\n\r";
          for (int i = 1; i <= columns; i++) {
            result += "    <td>" + results.getObject(i).toString() + " </td>\n\r";
          }
          result += "  </tr>\n\r";
        }
      }
      results.close();
      statement.close();
    } catch (ClassNotFoundException e) {
      result  = " <tr> <td> Error creating database drive class!";
      result += " <br/>" +  e.toString() + " </td> </tr>";
    } catch (SQLException e) {
      result  = " <tr> <td> Error processing the SQL!";
      result += " <br/>" +  e.toString()+ " </td> </tr>";
    } finally {
      try {
        if (dbconn != null) {
          dbconn.close(); }
      } catch (SQLException e) {
        result  = " <tr> <td> Error in closing connection.";
        result += " <br/>" +  e.toString() + " </td> </tr>";
      }
    }
    return result;
  }
  
}
发表于 2008-12-17 21:24:20 | 显示全部楼层
这个是我原来学做项目的时候用到的!比较实用的 你也可以再"优化"下啊!
  没有修改直接丢上来了!  用的时候记得做相应的修改就好了!

  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.Statement;

  4. public class OracleOpe {
  5.         public static Connection getConnection() throws Exception {
  6.                 Connection conn = null;
  7.                 Class.forName("oracle.jdbc.driver.OracleDriver");
  8.                 conn = DriverManager.getConnection(
  9.                                 "jdbc:oracle:thin:@127.0.0.1:1521:class08", "test", "test");
  10.                 return conn;
  11.         }

  12.         public static boolean executeUpdate(String sql) throws Exception {
  13.                 boolean flag = false;
  14.                 Connection conn = null;
  15.                 try {
  16.                         conn = getConnection();
  17.                         Statement stmt = conn.createStatement();
  18.                         stmt.executeUpdate(sql);
  19.                         stmt.close();
  20.                         flag = true;
  21.                 } finally {
  22.                         conn.close();
  23.                 }
  24.                 return flag;
  25.         }
  26. }
复制代码

[[I] 本帖最后由 fenghunwj 于 2008-12-17 21:26 编辑 [/I]]
您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2019-5-25 02:30 , Processed in 0.081349 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表