<update id="saveRechousecode" parameterType="net.hlj.ownership.bean.Rechousecode" > merge into TBWKRECHOUSECODE t using ( select #{fid} as fid from dual) t1 on(t.fid = t1.fid) when not matched then insert <trim prefix="(" suffix=")" suffixOverrides="," > FID, <if test="optypenum != null" > OPTYPENUM, </if> <if test="recyear != null" > RECYEAR, </if> <if test="recnum != null" > RECNUM, </if> <if test="housecode != null" > HOUSECODE, </if> <if test="wxjjnum != null" > WXJJNUM, </if> <if test="districtnum != null" > DISTRICTNUM, </if> <if test="streetnum != null" > STREETNUM, </if> <if test="prjnum != null" > PRJNUM, </if> <if test="buildnum != null" > BUILDNUM, </if> <if test="unitnum != null" > UNITNUM, </if> <if test="floornum != null" > FLOORNUM, </if> <if test="doornum != null" > DOORNUM, </if> <if test="housesignnum != null" > HOUSESIGNNUM, </if> <if test="deratemode != null" > DERATEMODE, </if> <if test="deratescale != null" > DERATESCALE, </if> <if test="deratemoney != null" > DERATEMONEY, </if> <if test="feefactval != null" > FEEFACTVAL, </if> <if test="feecalcval != null" > FEECALCVAL, </if> <if test="feememo != null" > FEEMEMO, </if> <if test="postpondaccept != null" > POSTPONDACCEPT, </if> <if test="oldsitnumgather != null" > OLDSITNUMGATHER, </if> <if test="feestand != null" > FEESTAND, </if> <if test="districtcode != null" > DISTRICTCODE, </if> <if test="mtfchargecode != null" > MTFCHARGECODE, </if> <if test="recnumgather != null" > RECNUMGATHER, </if> <if test="hid != null" > HID, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > uf_getfid(SEQ_TBWKRECHOUSECODE.nextval), <if test="optypenum != null" > #{optypenum,jdbcType=DECIMAL}, </if> <if test="recyear != null" > #{recyear,jdbcType=DECIMAL}, </if> <if test="recnum != null" > #{recnum,jdbcType=DECIMAL}, </if> <if test="housecode != null" > #{housecode,jdbcType=VARCHAR}, </if> <if test="wxjjnum != null" > #{wxjjnum,jdbcType=VARCHAR}, </if> <if test="districtnum != null" > #{districtnum,jdbcType=VARCHAR}, </if> <if test="streetnum != null" > #{streetnum,jdbcType=VARCHAR}, </if> <if test="prjnum != null" > #{prjnum,jdbcType=VARCHAR}, </if> <if test="buildnum != null" > #{buildnum,jdbcType=VARCHAR}, </if> <if test="unitnum != null" > #{unitnum,jdbcType=VARCHAR}, </if> <if test="floornum != null" > #{floornum,jdbcType=VARCHAR}, </if> <if test="doornum != null" > #{doornum,jdbcType=VARCHAR}, </if> <if test="housesignnum != null" > #{housesignnum,jdbcType=VARCHAR}, </if> <if test="deratemode != null" > #{deratemode,jdbcType=DECIMAL}, </if> <if test="deratescale != null" > #{deratescale,jdbcType=DECIMAL}, </if> <if test="deratemoney != null" > #{deratemoney,jdbcType=DECIMAL}, </if> <if test="feefactval != null" > #{feefactval,jdbcType=DECIMAL}, </if> <if test="feecalcval != null" > #{feecalcval,jdbcType=DECIMAL}, </if> <if test="feememo != null" > #{feememo,jdbcType=VARCHAR}, </if> <if test="postpondaccept != null" > #{postpondaccept,jdbcType=DECIMAL}, </if> <if test="oldsitnumgather != null" > #{oldsitnumgather,jdbcType=VARCHAR}, </if> <if test="feestand != null" > #{feestand,jdbcType=DECIMAL}, </if> <if test="districtcode != null" > #{districtcode,jdbcType=DECIMAL}, </if> <if test="mtfchargecode != null" > #{mtfchargecode,jdbcType=VARCHAR} , </if> <if test="recnumgather != null" > #{recnumgather,jdbcType=VARCHAR}, </if> <if test="hid != null" > #{hid,jdbcType=DECIMAL}, </if> </trim> when matched then update <set > <if test="optypenum != null" > optypenum=#{optypenum,jdbcType=DECIMAL}, </if> <if test="recyear != null" > recyear=#{recyear,jdbcType=DECIMAL}, </if> <if test="recnum != null" > recnum=#{recnum,jdbcType=DECIMAL}, </if> <if test="housecode != null" > housecode=#{housecode,jdbcType=VARCHAR}, </if> <if test="wxjjnum != null" > wxjjnum=#{wxjjnum,jdbcType=VARCHAR}, </if> <if test="districtnum != null" > districtnum=#{districtnum,jdbcType=VARCHAR}, </if> <if test="streetnum != null" > streetnum=#{streetnum,jdbcType=VARCHAR}, </if> <if test="prjnum != null" > prjnum=#{prjnum,jdbcType=VARCHAR}, </if> <if test="buildnum != null" > buildnum=#{buildnum,jdbcType=VARCHAR}, </if> <if test="unitnum != null" > unitnum=#{unitnum,jdbcType=VARCHAR}, </if> <if test="floornum != null" > floornum=#{floornum,jdbcType=VARCHAR}, </if> <if test="doornum != null" > doornum=#{doornum,jdbcType=VARCHAR}, </if> <if test="housesignnum != null" > housesignnum=#{housesignnum,jdbcType=VARCHAR}, </if> <if test="deratemode != null" > deratemode=#{deratemode,jdbcType=DECIMAL}, </if> <if test="deratescale != null" > deratescale=#{deratescale,jdbcType=DECIMAL}, </if> <if test="deratemoney != null" > deratemoney=#{deratemoney,jdbcType=DECIMAL}, </if> <if test="feefactval != null" > feefactval=#{feefactval,jdbcType=DECIMAL}, </if> <if test="feecalcval != null" > feecalcval=#{feecalcval,jdbcType=DECIMAL}, </if> <if test="feememo != null" > feememo=#{feememo,jdbcType=VARCHAR}, </if> <if test="postpondaccept != null" > postpondaccept=#{postpondaccept,jdbcType=DECIMAL}, </if> <if test="oldsitnumgather != null" > oldsitnumgather=#{oldsitnumgather,jdbcType=VARCHAR}, </if> <if test="feestand != null" > feestand=#{feestand,jdbcType=DECIMAL}, </if> <if test="districtcode != null" > districtcode=#{districtcode,jdbcType=DECIMAL}, </if> <if test="mtfchargecode != null" > mtfchargecode=#{mtfchargecode,jdbcType=VARCHAR} , </if> <if test="recnumgather != null" > recnumgather=#{recnumgather,jdbcType=VARCHAR}, </if> <if test="hid != null" > hid=#{hid,jdbcType=DECIMAL}, </if> </set> where FID = #{fid,jdbcType=DECIMAL} </update>
相关推荐
首先,需要使用Oracle 9i及其以后版本支持的merge into语句,该语句可以实现insertOrUpdate的功能。然后,使用Mybatis的动态SQL语法foreach循环插入,待插入的实体bean的List通过查询数据库dual形成表。foreach的 ...
例如,你可以使用`entityManager.persist()`来保存新实体,`entityManager.find()`来查找实体,`entityManager.merge()`来更新实体,以及`entityManager.remove()`来删除实体。EntityManager还提供了事务管理和查询...
然而,MySQL并不直接支持`MERGE`语句,但我们可以使用`INSERT ... ON DUPLICATE KEY UPDATE`语法来达到类似的效果。 `INSERT ... ON DUPLICATE KEY UPDATE`是MySQL提供的一种实用功能,它结合了`INSERT`和`UPDATE`...
在使用Mybatis进行数据库操作时,批量更新是一个常见的需求,特别是在处理大量数据的时候。然而,在实际操作中,可能会遇到批量更新报错的情况。本文将详细分析Mybatis批量更新的报错问题及其解决方法。 首先,报错...
在使用ORM(Object-Relational Mapping)框架如MyBatis时,我们可能需要在插入数据后立即获取到这个自动生成的主键ID,以便进一步处理关联的数据。本文将详细介绍如何在MyBatis中实现这一功能,并提供实例代码。 ...
在SQL语句中,我们可以使用`<foreach>`标签来遍历集合中的元素,生成`OR`子句。下面是一个示例: ```xml SELECT * FROM your_table WHERE != null and tags.size() > 0"> (" separator=" OR " close=")"> ...
首先,当我们使用 Mybatis 的 update 语句执行更新操作时,返回的整数值实际上是数据库驱动提供的信息,而不是 Mybatis 自身计算的结果。对于大多数数据库系统,如 MySQL,这个返回值通常表示“匹配”的行数,即满足...
Mybatis 中的 foreach 标签是一个功能强大的工具,允许开发者在 SQL 语句中循环遍历集合对象。但是,在使用 foreach 标签时,经常会遇到空格、换行、回车问题,这些问题会导致 SQL 语句执行失败或返回错误的结果。 ...
然后,使用MyBatis的SQL语句来实现用户数据的查询和操作。 ```xml SELECT userId, name FROM user_tab_#{tabIndex} WHERE userId = #{userId} ``` 其中,tabIndex是需要操作的表的索引值(0或1),userId是用户...
使用Mybatis自动生成工具的优点: 1. **提高效率**:避免手动编写大量的重复代码,使开发者能够更专注于业务逻辑的实现。 2. **减少错误**:自动化的生成过程减少了人为出错的可能性,确保代码质量。 3. **一致性**...
- 使用`git status`查看冲突状态,`git mergetool`合并冲突,然后`git push`推送更新。 4. **分支管理**: - `git branch`查看当前分支,`git checkout -b 分支名`创建新的分支。 - `git push origin HEAD -u`将...
9. MyBatis是一个持久层框架,它使用XML配置或注解来定义SQL语句和映射规则。#和$书写占位符的区别在于#会被预编译到SQL中,而$则会直接替换到SQL语句中。 10. Spring框架是目前Java企业级开发中最流行的技术之一,...
3. **MyBatis**:MyBatis是一个持久层框架,它简化了JDBC代码,允许开发者通过XML或注解定义SQL语句。在本项目中,MyBatis用于与数据库进行交互,执行CRUD操作。开发者可以编写Mapper接口和对应的XML配置文件,实现...
9. **MyBatis框架**: 学习如何使用MyBatis进行持久层操作,包括SQL映射文件、动态SQL、结果集映射等。 10. **数据库知识**: 关系型数据库MySQL的基础使用,包括SQL查询语言、事务处理、存储过程等。此外,还将涉及...
6. **MyBatis**:MyBatis是一个持久层框架,它允许开发者编写SQL语句并与Java对象进行映射,降低了数据库操作的复杂性。在图书馆管理系统中,MyBatis可以用来方便地处理数据库CRUD操作。 7. **微信小程序开发**:...
开发者需要熟练使用Git的命令行操作,如commit、push、pull、merge等。 10. **文档编写**:完整的项目还需要相应的技术文档,包括需求分析、系统设计、接口文档、使用手册等,方便团队成员理解和维护系统。 综上所...
update()和merge()方法用于更新游离态对象,而merge()方法能够同时处理save()和update()的功能。lock()方法通常用于对持久化对象加上乐观锁机制,而saveOrUpdate()方法则能够处理保存新对象或更新已存在的对象。 ...
Hibernate是一个强大的Java持久层框架,它提供了对象关系映射(ORM)功能,使得开发者可以使用面向对象的方式来操作数据库,避免了繁琐的SQL语句编写。在Java应用中,Hibernate极大地简化了数据库操作,使得开发更加...
- **merge**:类似于update,但功能更强大,可以将一个游离态的对象或瞬时态的对象变为持久态,会触发INSERT或UPDATE语句。 - **lock**:锁定一个游离态的对象,使其变为持久态,同时设置锁定级别,防止其他事务修改...
MyBatis是一个轻量级的持久层框架,它简化了SQL操作,将SQL语句与Java代码分离。面试时,你需要理解动态SQL的概念,MyBatis的映射文件配置,以及如何通过Mapper接口进行数据操作。 3. **Java基础 - 三大集合(上/...