聯表查詢,兩張表,一張是table表,一張db表,根據數據庫的名字查其下屬的所有表。
遇到mybatis錯誤:There is no getter for property named ‘xxx’ in ‘class java.lang.String’
首先在DAO層接口加上@Param(”dbName”)
List<TkvTable> selectByDBName(@Param("dbName") String dbName);
SQL語句
<select id="selectByDBName" resultType="TkvTable" parameterType="String">
select
t.id,
t.name,
t.ctime,
t.uptime,
t.cuser,
t.upuser,
t.item_count,
t.database_id,
d.name as db_name
from
tkv_table t INNER JOIN tkv_database d ON t.database_id=d.id
where 1=1
<if test="dbName != null and dbName != ''">
and d.name like #{dbName}
</if>
</select>
<if test="dbName != null and dbName != ''">
and d.name like #{dbName}
</if>
這裏的dbName要和接口裏的參數相對應,要注意是d.name不是name