Mybatis 內置參數之_parameter和_databaseId
1、如果一個參數,那麼_parameter就代表它
/**
* Sql語句查詢
*
* @param sql
* @return List<HashMap<String, Object>>
*/
List<HashMap<String, Object>> selectBySql(String sql);
<select id="selectBySql" parameterType="java.lang.String" resultType="java.util.HashMap">
${_parameter}
</select>
2、_databaseId就是代表當前數據庫的別名
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<databaseIdProvider type="DB_VENDOR">
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
</databaseIdProvider>
</configuration>
// 此時mybatis中內置的參數_databaseId中保存了用戶所指定的對應的數據庫廠商標識。
<select id="selectUsrs" databaseId="mysql" resultType="com.heiketu.pojo.Users">
<if test="_databaseId == 'mysql'">
select * from usrs where id = 2
</if>
</select>
<select id="selectUsrs" databaseId="oracle" resultType="com.heiketu.pojo.Users">
<if test="_databaseId == 'oracle'">
select * from usrs where id = 2
</if>
</select>