原創:
在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了
parameterType的用法,parameterType為輸入參數,在配置的時候,配置相應的
輸入參數類型即可。parameterType有基本數據類型和復雜的數據類型配置。
1.基本數據類型,如輸入參數只有一個,其數據類型可以是基本的數據類型,也可以是
自己定的類類型。包括int,String,Integer,Date,如下:
(1)根據id進行相應的刪除:<delete id="deleteById" parameterType="Integer">
(2)添加員工:<insert id="addEmp" parameterType="com.pojo.Employee">
2.復雜數據類型:包含java實體類,map。
配置如:
<select id="selectTeacher" parameterType="Map" resultType="com.myapp.domain.Teacher">
select * from Teacher where c_id=#{id} and sex=#{sex}
</select>
java代碼如下:
Map<String,String> map=new HasMap<String,String>();
map.put("id","2");
map.put("sex","男");
List<Teacher> tList = teacherMapper.selectTeacher(map);
for (Teacher entityTemp : tList) {
System.out.println(entityTemp.toString()); }
另外MyBatis還提供了一個使用注解來參入多個參數的方式。這種方式需要在接口的參數上添加@Param注解
/**
* 此處要注意的是,由於該方法需要傳入多個參數,在進行Mybatis配置時,
* 沒有辦法同時配置多個參數,另外MyBatis還提供了一個使用注解來參入
* 多個參數的方式。這種方式需要在接口的參數上添加@Param注解。。
* 注意,以下兩種寫法是完全相同的。但使用的時候要使用第一種類型
*/
User login(@Param(value="name")String name,@Param(value="password")String password );
// User login(String name,String password);
配置如下:
<select id="login" resultType="com.pojo.User">
select * from us where name=#{name} and password=#{password}
</select>