Mysql語句:前端傳入參數,數據庫判斷參數是否爲空從而選擇是全部查找還是按參數查找

聯表查詢,兩張表,一張是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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章