天天看點

Mybatis入參的幾種方式

    這裡主要研究研究向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>
           

        基本上就這幾種入參方式,歡迎指正。