這裡主要研究研究向Mybatis中傳參的幾種方式。總結一下,順便記錄在此。
1.實體類入參
dao方法
public void addAdmin(Admin admin);
mapper中
<insert id="addAdmin" parameterType="com.znkj.entity.Admin">
insert into t_admin (a_acount,a_password,a_power,a_name)
values(#{a_acount},#{a_password},#{a_power},#{a_name})
</insert>
2.通過下标入參,需要注意的是第一個參數下标為0
dao方法
public List<T_user> queryT_userByPage(String page,String pageSize);
mapper中
<select id="queryT_userByPage" resultMap="ResultMap">
select u_id,u_account,u_password,u_power,u_phone,u_name from t_user
limit #{0},#{1}
</select>
3.通過dao方法中@param注解入參
dao方法
public int addUserrolemanage(@Param("userid") int userid,@Param("roleid") int roleid);
mapper中
<insert id="addUserrolemanage">
INSERT INTO `userrolemanage` (`user_id`, `role_id`)
VALUES (#{userid},#{roleid})
</insert>
4.通過list集合入參
dao方法
public int insertUserNoticeStatus(@Param("list")List<UserNoticeStatus> list);
mapper中
<select id="insertUserNoticeStatus">
insert into usernoticestatus (notice_id,user_id,status)
values
<foreach collection="list" item="uns" separator=",">
(#{uns.user_id},#{uns.c_id},#{uns.status})
</foreach>
</select>
5.通過map集合入參
首先将參數封裝進map集合中,再傳入dao方法中
dao方法
public int addAdmin(Map<String, Object> map) ;
mapper中
<insert id="addAdmin" parameterType="Map">
insert into t_admin (a_acount,a_password,a_power,a_name)
values(#{a_acount},#{a_password},#{a_power},#{a_name})
</insert>
基本上就這幾種入參方式,歡迎指正。