小弟用jndi配置好数据库后,做一下测试。发现个奇怪问题。
测试开始
SELECT * FROM example order by timenow desc
org.apache.tomcat.dbcp.dbcp.BasicDataSource
在到这里之后
看到ResultSet的返回值为空
显示这个后就什么也不显示了
感觉也没有配置错呀
再就没有什么了。我在/common/lib里放的是mysql-connector-java-5.0.8-bin.jar,是不是这个呀?
我使用自己做了个data_config.xml
内容如下
<genius>
<data>
<jndi>test </jndi>
<database>mysql </database>
<servername>localhost </servername>
<databasename>test </databasename>
<username>root </username>
<password>root </password>
</data> 我用jdom读取
ConfigXml为读取文件
DataConfig.java中作如下读取
private String jndiName = ConfigXml.getJndi();
public String databaseType = ConfigXml.getDatabase(); private Connection conn = null; private Statement stmt = null; private Context ctx = null; private DataSource ds = null; private ResultSet rs = null;
public DataConfig() {
try {
ctx = new InitialContext(); Context envContext = (Context) ctx .lookup("java:/comp/env/jdbc/test");
ds = (DataSource) envContext.lookup(jndiName); } catch (NamingException e) {
e.printStackTrace();
}
以下是我的配置清单
在web.xml作如下配置 <resource-ref id="ResourceRef_1183965847937">
<res-ref-name>jdbc/test </res-ref-name>
<res-type>javax.sql.DataSource </res-type>
<res-auth>Container </res-auth>
<res-sharing-scope>Shareable </res-sharing-scope>
</resource-ref>
小弟在tomcat5.5下对数据库连接池的配置如下
<Context path="/WebMvc" docBase="/WebMvc" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/test">
<parameter>
<name>username </name>
<value>root </value>
</parameter>
<parameter>
<name>password </name>
<value>root </value>
</parameter>
<parameter>
<name>driverClassName </name>
<value>com.mysql.jdbc.Driver </value>
</parameter>
<parameter>
<!-- name = driverName -->
<name>url </name>
<value>jdbc:mysql://localhost:3306/test </value>
</parameter>
<parameter>
<name>maxActive </name>
<!-- Maximum number of DB connections in pool.Set to 0 for no limit. -->
<value>100 </value>
</parameter>
<parameter>
<name>maxIdle </name>
<!-- Maximum number of idle DB connections to retain in pool.Set to 0 for no limit. -->
<value>30 </value>
</parameter>
<parameter>
<name>maxWait </name>
<!-- Maximum time to wait for a DB connection to become available in ms.An exception is thrown if this timeout is exceeded.Set to -1 to wait indefinitely. -->
<value>1000 </value>
</parameter>
<parameter>
<name>removeAbandoned </name>
<!-- Abandoned DB connections are removed and recycled -->
<value>true </value>
</parameter>
<parameter>
<name>removeAbandonedTimeout </name>
<!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned. -->
<value>60 </value>
</parameter>
</ResourceParams>
</Context>
测试开始
SELECT * FROM example order by timenow desc
org.apache.tomcat.dbcp.dbcp.BasicDataSource
在到这里之后
看到ResultSet的返回值为空
显示这个后就什么也不显示了
感觉也没有配置错呀
再就没有什么了。我在/common/lib里放的是mysql-connector-java-5.0.8-bin.jar,是不是这个呀?
我使用自己做了个data_config.xml
内容如下
<genius>
<data>
<jndi>test </jndi>
<database>mysql </database>
<servername>localhost </servername>
<databasename>test </databasename>
<username>root </username>
<password>root </password>
</data> 我用jdom读取
ConfigXml为读取文件
DataConfig.java中作如下读取
private String jndiName = ConfigXml.getJndi();
public String databaseType = ConfigXml.getDatabase(); private Connection conn = null; private Statement stmt = null; private Context ctx = null; private DataSource ds = null; private ResultSet rs = null;
public DataConfig() {
try {
ctx = new InitialContext(); Context envContext = (Context) ctx .lookup("java:/comp/env/jdbc/test");
ds = (DataSource) envContext.lookup(jndiName); } catch (NamingException e) {
e.printStackTrace();
}
以下是我的配置清单
在web.xml作如下配置 <resource-ref id="ResourceRef_1183965847937">
<res-ref-name>jdbc/test </res-ref-name>
<res-type>javax.sql.DataSource </res-type>
<res-auth>Container </res-auth>
<res-sharing-scope>Shareable </res-sharing-scope>
</resource-ref>
小弟在tomcat5.5下对数据库连接池的配置如下
<Context path="/WebMvc" docBase="/WebMvc" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/test">
<parameter>
<name>username </name>
<value>root </value>
</parameter>
<parameter>
<name>password </name>
<value>root </value>
</parameter>
<parameter>
<name>driverClassName </name>
<value>com.mysql.jdbc.Driver </value>
</parameter>
<parameter>
<!-- name = driverName -->
<name>url </name>
<value>jdbc:mysql://localhost:3306/test </value>
</parameter>
<parameter>
<name>maxActive </name>
<!-- Maximum number of DB connections in pool.Set to 0 for no limit. -->
<value>100 </value>
</parameter>
<parameter>
<name>maxIdle </name>
<!-- Maximum number of idle DB connections to retain in pool.Set to 0 for no limit. -->
<value>30 </value>
</parameter>
<parameter>
<name>maxWait </name>
<!-- Maximum time to wait for a DB connection to become available in ms.An exception is thrown if this timeout is exceeded.Set to -1 to wait indefinitely. -->
<value>1000 </value>
</parameter>
<parameter>
<name>removeAbandoned </name>
<!-- Abandoned DB connections are removed and recycled -->
<value>true </value>
</parameter>
<parameter>
<name>removeAbandonedTimeout </name>
<!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned. -->
<value>60 </value>
</parameter>
</ResourceParams>
</Context>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货