在exoplatform中使用Tomcat的数据源

首先在你的context里面配置数据库

1这是一个访问Hypersonic的例子

<Resource name="jdbc/zlsWaterDS" auth="SERVLET" type="javax.sql.DataSource"/>
  <ResourceParams name="jdbc/zlsWaterDS">
    <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <parameter> <name>maxActive</name><value>10</value></parameter>
    <parameter><name>maxIdle</name><value>10</value></parameter>
    <parameter><name>maxWait</name> <value>50000</value></parameter>
    <parameter><name>username</name> <value>sa</value></parameter>
    <parameter><name>password</name><value></value></parameter>
    <parameter><name>driverClassName</name><value>org.hsqldb.jdbcDriver</value></parameter>
    <parameter><name>url</name><value>jdbc:hsqldb:file:../resource/sfgl</value> </parameter>
  </ResourceParams>

 2 这是访问oracle的
  <Resource name="jdbc/zlsWaterDS" auth="SERVLET" type="javax.sql.DataSource"/>
  <ResourceParams name="jdbc/zlsWaterDS">
    <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <parameter><name>maxActive</name> <value>100</value></parameter>
    <parameter><name>maxIdle</name><value>30</value></parameter>
    <parameter><name>maxWait</name><value>10000</value></parameter>
    <parameter><name>username</name><value>SYSTEM</value></parameter>
    <parameter><name>password</name><value>MANAGER</value></parameter>
    <parameter><name>driverClassName</name><value>oracle.jdbc.driver.OracleDriver</value></parameter>
    <parameter><name>url</name><value>jdbc:oracle:thin:@ibmserver:1521:ORCL</value></parameter>
  </ResourceParams>
 
这里的ORCL为SID,注意大小写,用大写
 
 
程序中使用数据源的方法
 static public class ViewJqfkActionListener extends ExoActionListener {
  public void execute(ExoActionEvent event) throws Exception {
   String yhh = event.getParameter(OBJECTID);
   UIListYhda uiList = (UIListYhda) event.getComponent();
   UIJqfk uiJqfk = (UIJqfk) uiList.getSibling(UIJqfk.class);
   List list = new ArrayList();
   Jqfk j;
   Connection conn =
    uiList.service_.getDataSource("WaterDS").getConnection();
   try {
 
    Statement stmt =
     conn.createStatement(
      ResultSet.TYPE_SCROLL_SENSITIVE,
      ResultSet.CONCUR_UPDATABLE);
    String sql =
     "select * from ZLS.JQFK where YHH = '" + yhh + "' ";
    ResultSet rs = stmt.executeQuery(sql);
    while (rs.next()) {
     j = new Jqfk();
     j.setYhh(rs.getString("YHH"));
 
     j.setYhm(rs.getString("YHM"));
     j.setYsl(rs.getString("YSL"));
     j.setZje(rs.getString("ZJE"));
     j.setCbqk(rs.getString("CBQK"));
     j.setJqrq(rs.getDate("JQRQ"));
     j.setHs(rs.getString("HS"));
     j.setHsrq(rs.getDate("HSRQ"));
 
     list.add(j);
    }
    //rs.close();
    //stmt.close();
    //conn.close();
    uiJqfk.setData(list);
    uiList.setRenderedSibling(UIJqfk.class);
   } catch (SQLException e) {
    e.printStackTrace();
   } finally {
    conn.close();
   }
  }
 }
 
注意,这里只要关闭conn就可以了,不要关闭rs和stmt
 
另外,显示的时候一定要用
static private Formater ft_ = Formater.getFormater(null) ;
w.write(ft_.format(y.getYhch()));
来防止数据库该字段有异常

你可能感兴趣的:(oracle,sql,tomcat,jdbc,HSQLDB)