2008-03-16

jdbcbeen

package com.web.fun;

import java.sql.*;

/**
 * @功能: 一个JDBC的本地化API连接类,封装了数据操作方法,只用传一个SQL语句即可
 * @作者: 
 * @日期: 2007/
 */
public class ConnectionDemo {
 /*
  * 这里可以将常量全部放入另一个类中,以方便修改
  */
 private static Connection conn;
 private static Statement ps;
 private static ResultSet rs;
 private static final String DRIVER = "com.mysql.jdbc.Driver";
 private static final String URL = "jdbc:mysql://219.129.237.53:3306/yiyaonet?useUnicode=true&characterEncoding=gb2312";
 private static final String USER = "haoyishi";
 private static final String PASS = "!@hao$#";

 public ConnectionDemo() {
  // TODO Auto-generated constructor stub
  ConnectionDemo.getConnection();
 }

 public static Connection getConnection() {
  System.out.println("连接中...");
  try {
   Class.forName(ConnectionDemo.DRIVER);
   conn = DriverManager.getConnection(ConnectionDemo.URL,
     ConnectionDemo.USER, ConnectionDemo.PASS);
   System.out.println("成功连接");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return conn;
 }

 public static Statement getStatement(String sql) {
  System.out.println("执行SQL语句中...");
  try {
   ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
   if (sql.substring(0, 6).equals("select")) {
    rs = ps.executeQuery(sql);
    System.out.println("执行完查询操作,结果已返回ResultSet集合");
   } else if (sql.substring(0, 6).equals("delete")) {
    ps.executeUpdate(sql);
    System.out.println("已执行完毕删除操作");
   } else if (sql.substring(0, 6).equals("insert")) {
    ps.executeUpdate(sql);
    System.out.println("已执行完毕增加操作");
   } else {
    ps.executeUpdate(sql);
    System.out.println("已执行完毕更新操作");
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return ps;
 }

 public static ResultSet getResultSet() {
  System.out.println("查询结果为:");
  return rs;
 }

 public static String ISO8859toGBK(String str) {
  try {
   byte[] bytesStr = str.getBytes("ISO8859_1");
   return new String(bytesStr, "GBK");
  } catch (Exception e) {
   return str;
  }
 }

public static String GBKtoISO8859(String str) {
  try {
   byte[] bytesStr = str.getBytes("GBK");
   return new String(bytesStr, "ISO8859_1");
  } catch (Exception e) {
   return str;
  }
 }
 
 public static void closeConnection() {
  System.out.println("关闭连接中...");
  try {
   if (rs != null) {
    rs.close();
    System.out.println("已关闭ResultSet");
   }
   if (ps != null) {
    ps.close();
    System.out.println("已关闭Statement");
   }
   if (conn != null) {
    conn.close();
    System.out.println("已关闭Connection");
   }
  } catch (Exception e) {
   // TODO: handle exception
  }
 }
}
/**
 * public static void main(String[] args) { // TODO Auto-generated method stub
 * ConnectionDemo.getConnection(); String sql = "delete from type where id = 1";
 * ConnectionDemo.getStatement(sql); String sql2 = "insert into type
 * values(1,'教学设备')"; ConnectionDemo.getStatement(sql2); String sql1 = "select *
 * from type"; ConnectionDemo.getStatement(sql1); ResultSet rs =
 * ConnectionDemo.getResultSet(); System.out.println("编号 "+"类 型"); try {
 * while(rs.next()){ System.out.print(" "+rs.getInt(1)+" ");
 * System.out.println(rs.getString(2)); } } catch (SQLException e) { // TODO
 * Auto-generated catch block e.printStackTrace(); }
 * ConnectionDemo.closeConnection(); } }
 */

评论
发表评论

您还没有登录,请登录后发表评论

kenter1643
搜索本博客
博客分类
最近加入圈子
存档
最新评论