以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  jdom samples (4)  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=6534)


--  作者:jlive
--  发布时间:4/7/2004 3:10:00 PM

--  jdom samples (4)
数据库连接:
package com.sz.lgyw.util;

import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.Statement;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
//import javax.naming.NamingException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.dbcp.BasicDataSource;
import com.sz.xml.DatabaseXmlConfig;

//import com.sz.lgyw.ejb.util.ContextFactory;

public class DataSourceConn {
  public  BasicDataSource ds = null;
  //public DataSource ds;
  protected PreparedStatement psmt;
  protected Connection conn;
  protected ResultSet rs;
  private static Log log = LogFactory.getLog(DataSourceConn.class);
  protected DatabaseXmlConfig dg;
  protected Statement stmt ;
  public DataSourceConn() {

    //ContextFactory f = ContextFactory.getInstance();

    //ds = (DataSource) f.getInitialContext().lookup("java:/OracleDS");
    //ds = (DataSource) f.getInitialContext().lookup("java:/env/jdbc/OracleDS");
    ds = new BasicDataSource();
    dg = new DatabaseXmlConfig();
    ds.setDefaultAutoCommit(true);

    ds.setDriverClassName(dg.getDriverClassName());
    ds.setUrl(dg.getUrl());
    ds.setUsername(dg.getUserName());
    ds.setPassword(dg.getPassword());
    try {
      conn = ds.getConnection();
      stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                            ResultSet.CONCUR_UPDATABLE);
    }
    catch (SQLException sqle) {
      log.info("getConnection  Err: " + sqle.getMessage());
      System.out.println("getConnection  Err: " + sqle.getMessage());
    }
  }

  public Connection getConnection() {
    return conn;
  }

  public PreparedStatement getPrepareStatement(String sql) {
    try {
      psmt = conn.prepareStatement(sql);
    }
    catch (SQLException ex) {
      ex.printStackTrace();
      log.info("prepareStatement: " + ex.getMessage() + " SQL:" + sql);
    }
    return psmt;
  }

  public ResultSet executeQuery(String sql) {
    try {

      rs = stmt.executeQuery(sql);
    }
    catch (SQLException ex) {
      log.info("executeQuery: " + ex.getMessage() + " SQL:" + sql);
    }
    return rs;

  }

  public int executeUpdate(String sql) {
    int r = 0;
    try {
      r = stmt.executeUpdate(sql);
    }
    catch (SQLException ex) {
      log.info("executeQuery: " + ex.getMessage() + " SQL:" + sql);
    }
    return r;

  }

  public static void main(String[] args) {
    String test_sql = "select * from t_user";
    DataSourceConn ds = new DataSourceConn();

    ResultSet rs = ds.executeQuery(test_sql);
    try {
      rs.last();
      System.out.println(rs.getRow());
    }
    catch (SQLException sqlE) {
      System.out.println("main :" + sqlE.getMessage());
    }
  }
}


--  作者:struggle
--  发布时间:6/15/2004 8:52:00 AM

--  
谢谢楼主!!!
希望楼主能贴更多更好的例子上来!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms