我的配置环境是:Spring + Tomcat + MySql
说明:
1. $TOMCAT_HOME代表Tomcat的安装目录。
第一步:在Tomcat的$TOMCAT_HOME/conf/context.xml文件中配置数据源。
<Resource
name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/TestDB"
username="root"
password="123456"
/>
参数说明:
name:JNDI的名称,下面Spring加载JNDI时会引用。
driverClassName:数据库驱动的类全名。
url:数据库连接的url。
username:数据库用户名。
password:数据库用户密码。
其余参数为连接优化参数,可自行Google查询。
第二步:把Mysql的驱动包拷贝到$TOMCAT_HOME/lib目录下。
第三步:让Spring加载JNDI配置,在Spring配置文件中加入如下配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/TestDB"/>
<property name="resourceRef" value="true"/>
</bean>
参数说明:
jndiName:第一步中所配置单独JNDI名称。
resourceRef:可以让我们指定jndiName时,省略前缀“java:comp/env/”。
注意:
1. 启动Tomcat容器测试应用是没有问题的,因为JNDI是配置在Tomcat容器中的,所以Junit测试会一直失败,如果哪位朋友有解决方案,可以告诉我下,谢谢!