mapper文件中動態表名和動態屬性的使用


mapper文件中動態表名和動態屬性的使用

 

遇到一個需要在一個sql語句中實現動態表名和動態屬性的情境,在多張相似表中查詢不同name的信息,由於我使用的是Mybatis,所以我需要在mapper文件中實現動態表名和動態查詢。經過上網查找,了解了${},#{}的原理和使用情境。但是,我在嘗試中發現這兩個不能再同一句sql語句中,所以需要舍棄其中一個。

 

    <select id="selectAllByText" parameterType="com.*.*.domain.*" resultType="java.util.HashMap" statementType="STATEMENT">
        SELECT *FROM ${table_name} WHERE name = '${name}' 
    </select>

 

由於${}中是直接帶入具體的值,而#{}則是帶入變量,所以只要在屬性值中用‘’,使得sql語句符合語法,就可以實現。

附上網址,以便查閱:


mybatis mapper.xml文件中$和#的使用區別

https://blog.csdn.net/xingxinghann/article/details/78533242

MyBatis動態傳入表名,字段名參數的解決辦法--用於分表--表名是動態的

https://blog.csdn.net/lsm135/article/details/77605967

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM