前情提要

对象ScoreEntity中有Double数组answerarray1211[3],要在Mybatis中分别使用insert、update命令存入mysql中的answer12110,answer12111,answer12112字段中。

主要思路

因使用#{}时sql注入风险较低,推荐使用#{}方法。

  1. ${}:
    直接用下标取值即可。如:
answer12110=${answerarray1211[0]},
answer12111=${answerarray1211[1]},
answer12112=${answerarray1211[2]},
  1. #{}:
    在Mapper中,使用foreach遍历数组,在foreach中使用choose选择下标,即可使用#{}赋值(这个是我自己想的,可能会比较麻烦不完善,欢迎交流)。如:
<foreach collection="answerarray1211" index="index" item="array1211"><choose><when test="index==0">answer12110 = #{array1211,jdbcType=DECIMAL},</when><when test="index==1">answer12111 = #{array1211,jdbcType=DECIMAL},</when><when test="index==2">answer12112 = #{array1211,jdbcType=DECIMAL},</when></choose>
</foreach>

完整代码

  1. ScoreEntity.java中定义字段
//字段
@ApiModelProperty(value = "答案数组1211",name="answerarray1211")
private Double[] answerarray1211=new Double[3];//相关方法
public Double[] getAnswerarray1211(){return answerarray1211;}public void setAnswerarray1211(Double[] array1211){this.answerarray1211=array1211;}
  1. ScoreDao.java中声明。
public int insertSelective1_2_1(ScoreEntity entity);
public int updateSelective1_2_1(ScoreEntity entity);
  1. ScoreMapper.xml中insert命令(使用#{})。
    注意:foreach得到的结果两边是没有逗号的,要在上下文中需要的地方加逗号!
<!-- 添加记录 -->
<insert id="insertSelective1_2_1" parameterType="com.wwhy.entity.ScoreEntity">insert into score (answer12110,answer12111,answer12112) values(<foreach collection="answerarray1211" index="index" item="array1211" separator=",">#{array1211,jdbcType=DECIMAL}</foreach>)
</insert>
  1. ScoreMapper.xml中update命令(使用#{})。
<update id="updateSelective1_2_1" parameterType="ScoreEntity" >update score set<foreach collection="answerarray1211" index="index" item="array1211"><choose><when test="index==0">answer12110 = #{array1211,jdbcType=DECIMAL},</when><when test="index==1">answer12111 = #{array1211,jdbcType=DECIMAL},</when><when test="index==2">answer12112 = #{array1211,jdbcType=DECIMAL},</when></choose></foreach>where student_id = #{studentId,jdbcType=BIGINT}
</update>

Spring boot Mybatis传入对象中有数组array时使用${}、#{}批量映射存储多个字段相关推荐

  1. 第七章、Spring Boot MyBatis升级篇

    课时二十七.Spring Boot MyBatis升级篇-注解 缘起:在一节视频中,有这么一段留言:"会不会推出SpringBoot整合Mybaits配置文件sqlMapConfig.xml ...

  2. Spring Boot + Mybatis 快速整合

    引言 最近在工作结束后抽时间学习了一下mybatis的知识,因为之前有学习过,但是经久不用,也未曾踏实地整理,因此有所淡忘. super meeting会议管理系统是我厂最近开发的一套会议预约平台.持 ...

  3. java spring sqlite,Spring Boot+MyBatis+SQLite配置

    Spring Boot+MyBatis+SQLite配置例子参考下面 创建新项目 项目类型务必选择箭头指定的类型,否则不会自动生成代码模版 增加依赖项 junit junit 4.13.1 test ...

  4. Eclipse + Spring boot +mybatis + mysql

    Eclipse + Spring boot +mybatis + mysql 如题.使用Springboot 2.0 版本进行网页的开发.原理和优点很多博文已经讲过了,这里不再赘述.但是很多项目按照他 ...

  5. Spring Boot + Mybatis 实现动态数据源

    动态数据源 在很多具体应用场景的时候,我们需要用到动态数据源的情况,比如多租户的场景,系统登录时需要根据用户信息切换到用户对应的数据库.又比如业务A要访问A数据库,业务B要访问B数据库等,都可以使用动 ...

  6. Spring boot Mybatis 整合(注解版)

    之前写过一篇关于springboot 与 mybatis整合的博文,使用了一段时间spring-data-jpa,发现那种方式真的是太爽了,mybatis的xml的映射配置总觉得有点麻烦.接口定义和映 ...

  7. Spring Boot MyBatis

    MyBatis简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache 迁移到了google code,并且改名为MyBatis . 集成spring bo ...

  8. spring boot + mybatis + layui + shiro后台权限管理系统

    后台管理系统 版本更新 后续版本更新内容 链接入口: springboot + shiro之登录人数限制.登录判断重定向.session时间设置:https://blog.51cto.com/wyai ...

  9. 从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建

    从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建 本文简介 为什么使用Spring Boot 搭建怎样一个环境 开发环境 导入快速启动 ...

最新文章

  1. oracle索引未使用,oracle
  2. 改变Android的hello world程序字体颜色和背景颜色
  3. Django(part27)--聚合查询
  4. C# 动态创建控件时注册Name属性
  5. 工业以太网交换机的接口知识详解
  6. [vue-cli]vue-cli3插件有写过吗?怎么写一个代码生成插件?
  7. python odoo_odoo python 使用缓存
  8. B. MIN-MEX Cut
  9. 思科交换机的初始配置(使用telnet登录)
  10. VB实现可执行文件运行时自删除
  11. elasticsearch 海选功能
  12. css的9个常用选择器
  13. The type XXX is not API (restriction on required library 'D:\jdk-64\jre\lib\rt.jar')
  14. linux 创建用户_用 Bash 脚本发送新用户帐户创建的邮件 | Linux 中国
  15. 录制计算机课,ClassIn怎么录制视频 录课操作步骤
  16. MySQL分页查询的5种方法
  17. 绝对值c语言不用函数,C语言 STM32 求绝对值函数
  18. 毕业设计So Easy:基于Java语言西餐厅点餐系统
  19. Ubuntu 无法连接网络
  20. python求矩阵逆、伪逆、转置、矩阵乘法

热门文章

  1. DSm安装mysql_群晖Synology DSM系统安装教程
  2. DeFi之道丨一文了解Uniswap v3 LP 自动化管理器
  3. 基于QT的多线程视频监控的实现(一)
  4. 这次终于理解了PCA主成分分析(附代码)
  5. 新基建赛场上 宁畅ODM为何备受青睐?
  6. 五金机电行业S2B2B商城系统打破传统线下营销方式,实现企业高质量发展
  7. linux 4TB硬盘 只识别2T,4TB移动硬盘电脑只能识别到2.2TB 是怎么回事?
  8. java事务类型_Spring事务类型祥解
  9. 云计算系统管理、 云计算应用管理、系统服务管理进阶
  10. nyoj 284 坦克大战【bfs】