DBConnect.java
上传用户:toby834
上传日期:2013-10-21
资源大小:2613k
文件大小:4k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package net.acai.database;
  2. import java.sql.*;
  3. import net.acai.database.DBConnectionManager;
  4. /**
  5.  * Title:        清清网络
  6.  * Description:
  7.  * Copyright:    Copyright (c) 2002
  8.  * Company:      211.68.39.120、webcpu.51.net
  9.  * @author:       SuperSpace
  10.  * @version 1.0
  11.  */
  12. public class DBConnect {
  13. private Connection conn = null;
  14. private Statement stmt = null;
  15. private PreparedStatement prepstmt = null;
  16. private DBConnectionManager dcm=null;
  17.     void init() {
  18.         dcm = DBConnectionManager.getInstance();
  19. conn = dcm.getConnection("mysql");
  20.     }
  21. /**
  22.  * 构造数据库的连接和访问类
  23.  */
  24. public DBConnect() throws Exception {
  25.         init();
  26. stmt = conn.createStatement();
  27. }
  28.     public DBConnect(int resultSetType, int resultSetConcurrency)
  29.             throws Exception {
  30.         init();
  31.         stmt = conn.createStatement(resultSetType, resultSetConcurrency);
  32.     }
  33.     /**
  34.      * 构造数据库的连接和访问类
  35.      * 预编译SQL语句
  36.      * @param sql SQL语句
  37.      */
  38. public DBConnect(String sql) throws Exception {
  39.         init();
  40. this.prepareStatement(sql);
  41. }
  42. public DBConnect(String sql, int resultSetType, int resultSetConcurrency)
  43.             throws Exception {
  44.         init();
  45. this.prepareStatement(sql, resultSetType, resultSetConcurrency);
  46. }
  47. /**
  48.  * 返回连接
  49.  * @return Connection 连接
  50.  */
  51. public Connection getConnection() {
  52. return conn;
  53. }
  54. /**
  55.  * PreparedStatement
  56.  * @return sql 预设SQL语句
  57.  */
  58. public void prepareStatement(String sql) throws SQLException {
  59. prepstmt = conn.prepareStatement(sql);
  60. }
  61. public void prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
  62.             throws SQLException {
  63. prepstmt = conn.prepareStatement(sql, resultSetType, resultSetConcurrency);
  64. }
  65. /**
  66.  * 设置对应值
  67.      *
  68.  * @param index 参数索引
  69.  * @param value 对应值
  70.  */
  71. public void setString(int index,String value) throws SQLException {
  72. prepstmt.setString(index, value);
  73. }
  74. public void setInt(int index,int value) throws SQLException {
  75. prepstmt.setInt(index,value);
  76. }
  77. public void setBoolean(int index,boolean value) throws SQLException {
  78. prepstmt.setBoolean(index,value);
  79. }
  80. public void setDate(int index,Date value) throws SQLException {
  81. prepstmt.setDate(index,value);
  82. }
  83. public void setLong(int index,long value) throws SQLException {
  84. prepstmt.setLong(index,value);
  85. }
  86. public void setFloat(int index,float value) throws SQLException {
  87. prepstmt.setFloat(index,value);
  88. }
  89. public void setBytes(int index,byte[] value) throws SQLException{
  90. prepstmt.setBytes(index,value);
  91. }
  92.  
  93.     public void clearParameters()
  94.         throws SQLException
  95.     {
  96.         prepstmt.clearParameters();
  97. prepstmt=null;
  98.     }
  99. /**
  100.  * 返回预设状态
  101.  */
  102. public PreparedStatement getPreparedStatement() {
  103. return prepstmt;
  104. }
  105. /**
  106.  * 返回状态
  107.  * @return Statement 状态
  108.  */
  109. public Statement getStatement() {
  110. return stmt;
  111. }
  112. /**
  113.  * 执行SQL语句返回字段集
  114.  * @param sql SQL语句
  115.  * @return ResultSet 字段集
  116.  */
  117. public ResultSet executeQuery(String sql) throws SQLException {
  118. if (stmt != null) {
  119. return stmt.executeQuery(sql);
  120. }
  121. else return null;
  122. }
  123. public ResultSet executeQuery() throws SQLException {
  124. if (prepstmt != null) {
  125. return prepstmt.executeQuery();
  126. }
  127. else return null;
  128. }
  129. /**
  130.  * 执行SQL语句
  131.  * @param sql SQL语句
  132.  */
  133. public void executeUpdate(String sql) throws SQLException {
  134. if (stmt != null)
  135. stmt.executeUpdate(sql);
  136. }
  137. public void executeUpdate() throws SQLException {
  138. if (prepstmt != null)
  139. prepstmt.executeUpdate();
  140. }
  141. /**
  142.  * 关闭连接
  143.  */
  144. public void close() throws Exception {
  145. if (stmt != null)  {
  146. stmt.close();
  147. stmt = null;
  148. }
  149. if (prepstmt != null) {
  150. prepstmt.close();
  151. prepstmt = null;
  152. }
  153. if (conn!=null)
  154. {
  155. dcm.freeConnection("mysql",conn);
  156. }
  157. }
  158. }