在SqlMapConfig.xml配置,里面写
  <dataSource type="SIMPLE">
      <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
      <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@192.168.0.112:1521:database"/>
      <property name="JDBC.Username" value="user"/>
      <property name="JDBC.Password" value="password"/>
      <property name="Pool.MaximumActiveConnections" value="10"/>
      <property name="Pool.MaximumIdleConnections" value="5"/>
      <property name="Pool.MaximumCheckoutTime" value="120000"/>
      <property name="Pool.TimeToWait" value="500"/>
      <property name="Pool.PingQuery" value="select 1 from ACCOUNT"/>
      <property name="Pool.PingEnabled" value="false"/>
      <property name="Pool.PingConnectionsOlderThan" value="1"/>
      <property name="Pool.PingConnectionsNotUsedFor" value="1"/>
    </dataSource>

解决方案 »

  1.   

    数据库连接池已经在配置文件配置了我的意思是配置文件配置了连接池之后还需要不需要写代码来生成?
    Reader r = Resources.getResourceAsReader("SqlMapConfig.xml"); 
    SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(r); 
    以上代码会生成连接池么?
      

  2.   

    只接用sqlMap执行更删改查就OK了。那些细节不需要关心
      

  3.   

    配置了连接池,表示ibatis在执行操作时,会直接从池中拿出连接来使用,用完后连接会自动返回返回池中,等待下次程序使用。当然你也可以在代码中写一个新的连接,但这个新连接要注意关闭它。使用新连接的时候跟连接池连接就没关系了。
      

  4.   

    (一)
    ds = sqlMap.getDataSource();   
    conn = ds.getConnection(); 
    r = Resources.getResourceAsReader("SqlMapConfig.xml"); 
    sqlMap = SqlMapClientBuilder.buildSqlMapClient(r);
    sqlMap.XXX();//增删查改
    conn.close();(二)
    r = Resources.getResourceAsReader("SqlMapConfig.xml"); 
    sqlMap = SqlMapClientBuilder.buildSqlMapClient(r);
    sqlMap.XXX();//增删查改
    哪个对数据库的压力会比较小??还是没什么区别??
      

  5.   

    ds = sqlMap.getDataSource();  
    conn = ds.getConnection(); 
    那本书上看到的,上面代码的做用是?第一个代码是误人子弟,ds = sqlMap.getDataSource();  
    conn = ds.getConnection(); 
    conn.close(); 
    这三句屁用没有,浪费资源。第二个是通常的做法。
      

  6.   

    conn = ds.getConnection();