`

Mybatis 传入List参数

阅读更多
//dao 代码 如果传入的参数是数组,也一样
void insertDefaultMsg(@Param("idsList") ArrayList<String> idsList);
//xml文件
<update id="insertDefaultMsg" parameterType="java.util.List">
		UPDATE 
		  plf_pur_delivery_plan p 
		SET
		  p.promise_delivery_amount = p.quantity_req,
		  p.promise_delivery_time = p.quantity_time 
		WHERE p.id IN
		<foreach item="item" collection="idsList" separator="," open="(" close=")" index="">  
	      #{item, jdbcType=VARCHAR}  
	    </foreach>  
	</update>

//如果传入字符串
//service 代码
Map<String, String> map = bean.getDatas().get(0);
		String ids = map.get("ids");
		String[] idsArr = ids.split(",");
		String inId = "";
		for (int i = 0; i < idsArr.length; i++) {
			if (i != idsArr.length - 1) {
				inId += "'" + idsArr[i] + "',";
			} else {
				inId += "'" + idsArr[i] + "'";
			}
		}
		List<Map<String, String>> list = purDeliveryPlanDao
				.getPlanListManual(inId);

//dao层代码
List<Map<String, String>> getPlanListManual(@Param("inId") String inId);
//xml 文件
<select id="getPlanListManual" parameterType="java.lang.String" resultType="java.util.Map">
		SELECT 
		  p.supplier_code,
		  p.pur_order_no,
		  IF(
		    p.update_times > 0,
		    '修改订单',
		    '新订单'
		  ) AS order_type 
		FROM
		  plf_pur_delivery_plan p 
		WHERE p.is_notice = '0' 
		  AND p.is_delete = '1' 
		  AND p.id in(<![CDATA[${inId}]]>)
		GROUP BY p.supplier_code,
		  p.pur_order_no 
		ORDER BY p.supplier_code 
	</select>
分享到:
评论

相关推荐

    Mybatis传list参数调用oracle存储过程的解决方法

    怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据?接下来通过本文给大家介绍Mybatis传list参数调用oracle存储过程,需要的朋友可以参考下

    MyBatis传入集合 list 数组 map参数的写法

    主要介绍了MyBatis传入集合 list 数组 map参数的写法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    mybatis动态插入list传入List参数的实例代码

    本文通过实例代码给大家介绍了mybatis动态插入list,Mybatis 传入List参数的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧

    Java调用存储过程--传入集合参数

    Java调用存储过程--传入集合参数 具体的方法描述分析

    springmybatis

    MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm...

    Update.exe

    mybatis传入参数为list等需要解析的参数,不能添加 &lt;![CDATA[ ]]&gt;,否则不能解析

    mybatisIntercept.zip

    3、代码的调整示例 接口实现类 需要把Page对象参数传入 ,SQL拦截器检测到 page 对象就会进行拦截 并且附值 public List, Object&gt;&gt; getConditionsPage(Page page, String condition , String recognitionresult, ...

    java简易的论坛.zip

    上行为IndexController内的代码,主要是为了在后端实现分页功能,但现在分页功能不做了,传入的两个参数已无实际作用,望周知。 spring拦截器文档 mybatis+spring boot文档 mybatis generator文档 mvn -Dmybatis....

    基于SSM框架+Mysql的企业CRM客户关系管理系统项目源码+数据库+项目说明.zip

    从axios返回给Java的json对象中的数组是一个List对象而不是一个数组,在controller中强转一下可以直接传入service 3. Mybatis,foreach标签中的collection属性应该填list,表示的是List类型 ### 2022/4/9 - ...

    单点登录源码

    Spring+SpringMVC+Mybatis框架集成公共模块,包括公共配置、MybatisGenerator扩展插件、通用BaseService、工具类等。 &gt; zheng-admin 基于bootstrap实现的响应式Material Design风格的通用后台管理系统,`zheng`...

    基于SSM+Mysql实现的CRM信息管理系统源码+数据库+项目说明.zip

    * index为主页,info用于跳转信息页面,list为页面信息显示,save为添加用户的页面,page为导航栏。 * ## 6.分页功能 * 在以前的时候,我们通常是怎么分页的呢? * 首先通过mysql的limit来进行分页 ```...

    MySql逗号拼接字符串查询的两种方法

    第一种,传入1,3,6 可以查出来 select * from XXX where FIND_PART_IN_SET('1,3,6','1,2,3,4,5') 第二种,传入1,3,6 查不出来 select * from XXX where FIND_ALL_PART_IN_SET('1,3,6','1,2,3,4,5') 函数: 第一种:...

Global site tag (gtag.js) - Google Analytics