Mapper中包含很多映射元素冀宴,其中Select是最為常用的一種李皇。因為數(shù)據(jù)庫的增刪改查祟印,在通用項目中肴沫,查找的重要性和復(fù)雜性要大于其他三種。今天小博老師就帶領(lǐng)大家一起學(xué)習(xí)下Select元素的一些注意事項蕴忆。
我們先來看一個簡單的查詢語句:
SELECT * FROM COMPANY WHERE ID = #{id}
這個語句被稱作selectCompany, 使用一個 int (或 Integer) 類型的參數(shù)颤芬,并返回一個 HashMap 類型的對象,其中的鍵是列名套鹅,值是列對應(yīng)的值站蝠。
其中#{id}是一個參數(shù),告訴MyBatis創(chuàng)建一個預(yù)處理語句的參數(shù)卓鹿。如果使用JDBC菱魔,等價的SQL預(yù)處理語句如下:
String selectCompany= "SELECT * FROM COMPANY WHERE ID=?"; PreparedStatement ps = conn.prepareStatement(selectCompany); ps.setInt(1,id);
當(dāng)然, 這需要大量代碼獲取結(jié)果并將它們映射到對象實例中,在Mybatis中,這些過程都自動幫你處理了吟孙,這就是Mybatis的強大之處澜倦。
select元素有很多屬性允許你配置,詳細(xì)決定每條語句的作用杰妓。如:
相關(guān)屬性說明見下圖: