“select user()”在每个SQL之前执行

时间:2017-03-20 06:59:58

标签: mysql spring tomcat select

我尽力找到答案:为什么在每个SQL之前执行“select user()” 我尝试两种方式来创建dataSource,并使用相同的方式来使用dataSource,然后执行我的SQL。
config 1将在每个SQL之前执行“select user()” 配置2是正确的,只需执行我想要的。

config 1:

的Tomcat#CONF#server.xml中

<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxIdle="10" maxTotal="100" minEvictableIdleTimeMillis="10000"  
numTestsPerEvictionRun="10" removeAbandonedOnBorrow="true" removeAbandonedTimeout="10" type="javax.sql.DataSource" url="jdbc:mysql://dbserver:3306/***" 
username="***"  password="***" name="jdbc/tomcatDataSource" validationQuery="SELECT NOW() FROM DUAL"/>

WEB-INF / web.xml中

<resource-ref>
    <description>tomcatDataSource</description>
    <res-ref-name>jdbc/tomcatDataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

spring config

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/jdbc/tomcatDataSource" />
</bean>

config 2:spring config

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property> 
    <property name="url"><value>jdbc:mysql://dbserver:3306/***</value></property> 
    <property name="username"><value>***</value></property> 
    <property name="password"><value>***</value></property> 
</bean> 

0 个答案:

没有答案