select
select標籤是mybatis中最常用的標籤之一。有很多屬性可以詳細配置每一條SQL語句
SQL語句返回值類型(完整的類名或者別名)
傳入SQL語句的參數類型(可以嘗試使用map)
命名空間中唯一的標識符
接口中的方法名與映射文件中的SQL語句ID一一對應
id,parameterType,resultType
根據id查詢用戶
1.在UserMapper接口中聲明方法
2.在UserMapper.xml中添加select語句
3.測試
insert 給數據庫增加一個用戶
1.在UserMapper接口中添加對應的方法
2.在UserMapper.xml中添加insert語句
3.測試
注意:增,刪,改操作需要提交事務,不寫的話不會提交到數據庫。
update 修改用戶信息
1.編寫接口方法
2.編寫對應的配置文件SQL
3.測試
delete根據id刪除一個用戶
1.編寫接口方法
2.編寫對應的配置文件SQL
3.測試
當實體類定義的屬性名和數據庫中的字段名不同時,可以使用萬能的Map
1.在接口方法中,參數直接傳遞Map
2.編寫SQL語句時,需要傳遞參數類型,參數類型爲map
3.在使用方法的時候,Map的key爲sql中取得值即可
如果參數較多,我們可以考慮直接使用map實現,如果參數較少,直接傳遞參數即可。
所有的增刪改操作都需要提交事務
接口的左右普通參數,儘量都寫上@Param參數,尤其是多個參數時,必須寫上。
根據業務需求,可以考慮使用map傳遞參數
爲了規範操作,在SQL的配置文件中,儘量將Parameter和resultType都寫上。
模糊查詢like語句
第一種:在Java代碼中添加sql通配符
string wildcardname = “%smi%”;
list<name> names = mapper.selectlike(wildcardname);
<select id=”selectlike”>
select * from foo where bar like #{value}
</select>
第二種:在sql語句中拼接通配符,會引起sql注入
string wildcardname = “smi”;
list<name> names = mapper.selectlike(wildcardname);
<select id=”selectlike”>
select * from foo where bar like "%"#{value}"%"
</select>