最近新项目使用tomcat中配置jndi连接mysql的方式,在使用过程中发现查询条件为中文的时候查询不出结果,经过一通折腾,发现是jndi在连接数据库的时候忘记设置字符编码。
修改之后的完整配置如下:
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="10" maxIdle="4" maxWait="10000" name="jdbc/test" password="test" type="javax.sql.DataSource" url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8" username="test"/>
注意url项中使用的是&