当前位置: 首页 > 知识库问答 >
问题:

如何使用Mybatis xml foreach标记将insertSelective补丁到数据库中

葛昱
2023-03-14
<insert id="insertSelectiveBatch" parameterType="cn.indweb.blogcore.repository.model.Article">
<!--
  WARNING - @mbg.generated
  This element is automatically generated by MyBatis Generator, do not modify.
  This element was generated on Thu Aug 22 10:38:37 CST 2019.
-->
<foreach item="item" collection="list" open="" close="" separator=";">
insert into tbl_article
<trim prefix="(" suffix=")" suffixOverrides=",">
  <if test="item.id != null">
    id,
  </if>
  <if test="item.title != null">
    title,
  </if>
  <if test="item.author != null">
    author,
  </if>
  <if test="item.content != null">
    content,
  </if>
  <if test="item.createdTime != null">
    created_time,
  </if>
  <if test="item.deletedTime != null">
    deleted_time,
  </if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
  <if test="item.id != null">
    #{item.id,jdbcType=VARCHAR},
  </if>
  <if test="item.title != null">
    #{item.title,jdbcType=VARCHAR},
  </if>
  <if test="item.author != null">
    #{item.author,jdbcType=VARCHAR},
  </if>
  <if test="item.content != null">
    #{item.content,jdbcType=VARCHAR},
  </if>
  <if test="item.createdTime != null">
    #{item.createdTime,jdbcType=TIMESTAMP},
  </if>
  <if test="item.deletedTime != null">
    #{item.deletedTime,jdbcType=TIMESTAMP},
  </if>
</trim>
</foreach>

这是我尝试过的代码,但没有奏效。错误消息是“java.SQL.sqlSyntaxerRoreXception:您的SQL语法中有一个错误;请检查与您的MySQL服务器版本相对应的手册,以获得在'insert into tbl_article...'附近使用的正确语法”

共有1个答案

裘安阳
2023-03-14

为您的语句提供了一个集合类型的参数。您根本不需要parametertype。请尝试删除它,然后再次尝试运行。

 类似资料:
  • Git 中的一些命令是以引入的变更即提交这样的概念为中心的,这样一系列的提交,就是一系列的补丁。 这些命令以这样的方式来管理你的分支。 git cherry-pick git cherry-pick 命令用来获得在单个提交中引入的变更,然后尝试将作为一个新的提交引入到你当前分支上。 从一个分支单独一个或者两个提交而不是合并整个分支的所有变更是非常有用的。 在 变基与拣选工作流 一节中描述和演示了

  • 我有一个包含一些图像实体,我想使用HttpPatch方法更新它。 要创建新样式,我使用以下方法: 现在我正在尝试创建一个方法来使用HttpPatch方法更新这个样式。我试过了,但是没有选择在Swagger上上传文件: 这是StyleFiles类: 我正在考虑制作两个单独的endpoint,一个用于更新文件,另一个用于更新实体本身。但我不想那样做。

  • 问题内容: 使用微数据,是否可以通过使用meta标签将图像添加到事件中? 在官方的Microdata网站上,我看到了将图像添加到事件的选项: 效果很好。但是,我想知道是否可以使用类似的方法添加该图像: 根据我的测试,这不起作用。 问题答案: 必须使用元素(因为该值为URI),而不是使用元素: 这是通过HTML5需要(粗体重点煤矿): 该元素表示各种元数据的 不能使用[…]表示[…]的元素。

  • 问题内容: 我正在使用djang-tastypie作为后端和AngularJs作为前端的API。我正在使用angularjs $ http从CRUD发送请求。GET,POST,PUT一切都很好,但是当我尝试发送PATCH请求时,出现错误,未定义PATCH方法。我已经在angular中创建了一个api调用工厂,但是PATCH请求在那里不起作用。 这是我的HTML代码 当我在控制台中使用此代码发送路径

  • 在我的项目中,我希望用户从Firebase实时数据中读取数据,同时他会将数据标记为锁定,直到他完成一些操作,在此期间其他用户无法读取此数据。 如果无法锁定,另一种情况是一旦他读取他同时写入一些数据以指示该数据已锁定。如果另一个用户读取此数据,他知道它已锁定。 我不确定这在火力基地是否可能。 有没有任何想法如何使用firebase实时数据库这个。

  • 我知道,当连接到SQL server时,可以通过在属性文件行中添加以下内容(如本文所述)来查看发送到DB的实际查询: 在使用CouchBase的时候应该有什么方法呢?