現象:直接運行SQL語句,可以查詢到數據。但是通過mybatis執行,卻拿不到數據。
測試發現,如果查詢字段的值爲中文,mybatis拿不到數據。但是英文沒有問題。可知是編碼的問題。
修改數據庫鏈接,指定編碼爲UTF-8,問題解決。
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver"
maxIdle="10" maxTotal="200" maxWaitMillis="10000"
name="jdbc/dkpm" type="javax.sql.DataSource"
url="jdbc:mysql://127.0.0.1:3306/zentao?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8"
username="root" password="123456"
validationQuery="select 1"/>