第一次写博客,真心的感觉到那些经常分享博文的博主的不易(码字真心不容易啊),技术还属于初级阶段,想把自己用的一些经验分享给大家,有写的不对的地方欢迎指正,如果你觉得不错或者有帮到你,还请点赞!欢迎大家指正。
####一、传一个参数
Dao层代码
String findName(String view);
mapper文件代码
<select id="findName" parameterType="java.lang.String" resultType="java.lang.String">
select name from dict_t where dbtablename = #{view}
</select>
####二、传两个参数可以放在map里传到后台,也可以直接传给后台,但实际上mybatis框架还是封装成map的形式传到后台,不过建议用示例的方式,比较清楚直接
Dao层代码
void updateLeafFlag(@Param("datakey") String datakey, @Param("leaf") String leaf);
mapper文件代码
<update id="updateLeafFlag" parameterType="java.util.Map">
update fa_b set leaf=#{leaf} where datakey = #{datakey}
</update>
注意parameterType写 parameterType=“java.util.Map”
####三、传多个参数,直接封装成map传给后台
serviceImpl层代码
Map<String,Object> paramMap = new HashMap<String, Object>();
paramMap.put("sortNo", sortNo);
paramMap.put("codeType", codeType);
assctlgMapper.querySetAssctlg(paramMap);
Dao层代码
int querySetAssctlg(Map<String, Object> paramMap);
mapper文件代码
<select id="querySetAssctlg" parameterType="java.util.Map"
resultType="java.lang.Integer">
select code_len from fa_set where code_type=#{codeType}
and sort_no=#{sortNo}
</select>
####四、传参数List里面放普通的String
Dao层代码
boolean deleteAssctlg(List<String> datakeyList);
mapper文件代码
<delete id="deleteAssctlg" parameterType="java.util.List">
delete from FA_B where datakey in
<foreach collection="list" open="(" close=")" item="datakey"
separator=",">
#{datakey}
</foreach>
</delete>
传参数list的时候,注意#后面的值和item的值保持一致
####五、传复杂参数,map里面放list
serviceImpl层代码
Map<String,Object> insertSubParam = new HashMap<String, Object>();
insertSubParam.put("ctlgId", datakey);
insertSubParam.put("agencyid", agencyid);
insertSubParam.put("addList", addList);
insertSubParam.put("isextend", "1");
extfldMapper.insertselectedExtfld(insertSubParam);
Dao层代码
void insertselectedExtfld(@Param("insertParam") Map<String, Object> insertParam);
mapper文件代码
<insert id="insertselectedExtfld" parameterType="java.util.Map">
insert into fa_b(datakey,agencyid,asst_ctlg,extfld_id,name,isextend)
select sys_guid(),#{insertParam.agencyid},#{insertParam.ctlgId},dbcolumnname,name,#{insertParam.isextend} from fa_t where dbcolumnname in
<foreach collection="insertParam.addList" open="(" close=")" item="dbcolumnname" separator=",">
#{dbcolumnname}
</foreach>
</insert>
注意collection=”map.list”
####六、传一个参数和一个list
Dao层代码
void createExtfldView(@Param("viewCode") String viewCode,@Param("dbcolumnList") List<String> dbcolumnList);
mapper文件代码
<update id="createExtfldView" parameterType="java.util.List">
CREATE OR REPLACE VIEW ${viewCode} AS select
<foreach collection="dbcolumnList" item="dbcolumnname" separator=",">
${dbcolumnname}
</foreach>
from FA_T
</update>
特别注意:表名的取值方式应该用${}