在最近的项目开发中遇到一个问题,前端传一个表名到后台。ibatis发起查询,ibatis的xml如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="STORED_PROCEDURE">
<!-- 根据前端传入的不同的表名查询结果集 -->
<select id="queryResultByTableName" parameterClass="Map" resultClass="HashMap">
select * from $tableName$
</select>
</sqlMap>
测试的过程中发现第一次传入的表名是T_CITY没有问题,日志如下
2015-01-29 13:53:41 [com.fullgold.dbdst.action.QueryTableResultByTableName] INFO - process QueryTableResultByTableName invoke...
2015-01-29 13:53:41 [java.sql.Connection] DEBUG - {conn-100000} Connection
2015-01-29 13:53:41 [java.sql.Connection] DEBUG - {conn-100000} Preparing Statement: select * from T_CITY
2015-01-29 13