【pgsql】使用<foreach></foreach>处理数组或对象数组时的循环操作

  1. insert操作,用foreach标签做循环插入操作,两种不同的写法,注意foreach位置不同。
@Insert(" <script> "
		+ " <if test = 'list != null and list.length > 0' >"
		+ " <foreach collection='list ' item='val' index='index' separator=';'>"
		+ " insert into table(id, bm, mc, jgbm) values "
		+ " <![CDATA[ (#{id}, #{val.bm}, #{val.mc}, #{jgbm}) ]]>"
		+ " </foreach>"
		+ " </if>"
		+ " </script>")
void insData(AbcBean bean);
@Insert("<script> "
		+ " insert into tms_rc_lkxx(id,rcid,jgbm) values "
		+ " <foreach collection='param1' item='item' index='index' separator=','> "
		+ " <![CDATA[ (f_newid(),#{item.rcid},#{param2.jgbm}) ]]> "
		+ " </foreach> "
		+ "</script> ")
int addLkxx(List<LkblBean> param1,LkblczBean param2);
  1. select操作,用foreach配合in语句,查询bm1在jsidList里的数据
@Select("<script>"
   		+ " <if test = 'jsidList != null and jsidList.size > 0' >"
   		+ " select bm fsdq "
   		+ " from tms_jg_bmb "
   		+ " where jgbm like #{zxbm}||'%' and bm1 in"
   		+ " <foreach collection='jsidList' item='val' index='index' open='(' separator=',' close=')'>"
   		+ " #{val}"
   		+ " </foreach>"
   		+ " </if>"
   		+ "</script>")
String getFsdq(@Param("zxbm") String zxbm, @Param("jsidList") List<String> jsidList);
  1. update操作,使用foreach循环更新list里的对象。
@Update("<script>" +
	" <foreach collection='list' item='item' index='index' separator=';' " +
	" open=\"\" close=\"\"> " +
	" update rctable set rczt = #{item.bglx}" +
	" where rcid = #{item.rcid} " +
	" </foreach> " +
	"</script>")
void updateRcxxzt(List<RcztBgBean> list);
  1. update操作,使用if判断字段是否需要更新
@Update("<script> "
		+ " update lkxx "
		+ " <trim prefix='set' suffixOverrides=','> "
		+ " <if test='slklx != null and \"\" != slklx'> lklx=#{slklx}, lklxmc=#{slklxmc}, </if>"
		+ " <if test='slkzksj != null and \"\" != slkzksj'> zksj=to_timestamp(#{slkzksj}, 'yyyy-MM-dd'), </if>"
		+ " </trim>"
		+ " where rcid = #{rcid} "
		+ "</script>")
void xglkxx(LkxxBean bean);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PgSQL(PostgreSQL)是一种开源的关系型数据库管理系统(RDBMS),它具有可扩展性、高性能和丰富的功能。以下是一些关于PgSQL的介绍: 1. 可扩展性:PgSQL支持水平扩展和垂直扩展,可以通过添加更多的服务器节点或增加硬件资源来提高系统的性能和容量。 2. 高性能:PgSQL使用了先进的查询优化器和并发控制机制,可以处理大规模数据和高并发访问的需求。它还支持索引、分区和并行查询等功能,提供了快速和高效的数据访问方式。 3. 丰富的功能:PgSQL支持多种数据类型,包括整数、浮点数、字符串、日期间、数组、JSON等。它还提供了丰富的内置函数和扩展插件,可以满足各种复杂的数据处理和分析需求。 4. ACID事务支持:PgSQL采用了ACID(原子性、一致性、隔离性和持久性)事务模型,确保数据的完整性和一致性。它支持多版本并发控制(MVCC)机制,可以实现高并发的读写操作。 5. 安全性:PgSQL提供了强大的安全功能,包括用户认证、访问控制和数据加密等。它支持SSL/TLS协议进行数据传输的加密,可以保护敏感数据的安全性。 6. 可扩展的编程接口:PgSQL支持多种编程语言的接口,包括C/C++、Java、Python、Ruby等,开发人员可以使用自己熟悉的编程语言进行数据库应用程序的开发。 7. 社区支持:PgSQL是一个开源项目,拥有庞大的社区支持和活跃的开发者社区。用户可以通过官方文档、邮件列表、论坛等途径获取帮助和交流经验。 总之,PgSQL是一种功能强大、可靠性高的关系型数据库管理系统,适用于各种规模和复杂度的应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值