Mybatis 新增或修改xml写法

插入数据时,往往需要先校验该数据是否存在,若不存在,新增;存在,修改!常规操作是在业务代码中敲上述的逻辑,若果把判断的逻辑放入数据库那一层,会方便很多

 <insert id="saveOrUpdate">
       <selectKey keyProperty="count" resultType="int" order="BEFORE">
           SELECT count(*) AS COUNT FROM `org` WHERE id=#{org.id}
       </selectKey>
       <!-- 如果大于0则更新 -->
       <if test="count>0">
           UPDATE
           `org`
           SET
           `name`=#{vo.name}
         
           WHERE id=#{org.id}
       </if>
       <!-- 如果等于0则保存 -->
       <if test="count==0">
           INSERT INTO `org`(`id`,
           `name`
           VALUES (#{org.id},
           #{org.name}
         );
       </if>
   </insert>

 业务代码只需调用该mapper的方法即可

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Mybatis-plus的xml写法是指在Mybatis-plus框架中使用xml文件来编SQL语句。具体写法如下: 1. 创建一个Mapper接口,继承BaseMapper接口。 2. 在Mapper接口中定义需要执行的SQL语句,使用@Select、@Insert、@Update、@Delete等注解来标识。 3. 在resources目录下创建一个与Mapper接口同名的xml文件,用于编SQL语句。 4. 在xml文件中使用<select>、<insert>、<update>、<delete>等标签来编SQL语句。 5. 在xml文件中使用${}或#{}来引用Mapper接口中定义的参数。 6. 在Mybatis-plus的配置文件中配置Mapper接口的扫描路径和xml文件的扫描路径。 7. 在代码中使用@Autowired注解来注入Mapper接口,即可使用xml文件中编SQL语句。 以上就是Mybatis-plus的xml写法的基本流程。 ### 回答2: Mybatis-Plus是基于Mybatis的加强工具,提供了很多方便开发的功能,其中就包括了XML方式的CRUD,以下是XML写法: 1. 映射文件位置:在Mybatis-Plus中,映射文件的位置需要遵循Mybatis的规则,即放在classpath下的某个包中。 2. 命名规范:Mybatis-Plus的命名规范可以参照Mybatis的规范,在命名上加上模块名的前缀,例如user.xml,order.xml等。 3. SQL语句:Mybatis-Plus中可以像Mybatis一样使用XMLSQL语句,只不过在SQL语句的编上会更加简洁,例如: ```xml <!--查询用户列表--> <select id="selectList" resultType="java.util.List"> select * from user </select> ``` 4. 参数传递:Mybatis-Plus的参数传递可以采用占位符的方式,例如: ```xml <!--查询用户信息--> <select id="selectById" parameterType="java.lang.Long" resultType="com.example.demo.entity.User"> select * from user where id = #{id} </select> ``` 5. 分页查询:Mybatis-Plus中支持分页查询,只需要在SQL语句中加上limit和offset即可,例如: ```xml <!--分页查询用户列表--> <select id="selectPage" parameterType="com.baomidou.mybatisplus.extension.plugins.pagination.Page" resultType="java.util.List"> select * from user limit #{page.offset}, #{page.size} </select> ``` 6. 注解方式:除了XML方式,Mybatis-Plus还支持注解方式,例如: ```java @Select("select * from user where id = #{id}") User selectById(Long id); ``` 总的来说,Mybatis-Plus的XML写法Mybatis基本相似,但是在一些简单的查询上能够更加简洁明了。同时,Mybatis-Plus也提供了其他方便开发的功能,例如代码生成器、分页插件等,使得开发变得更加高效。 ### 回答3: Mybatis-Plus是基于Mybatis的增强工具,为开发者提供了更加便捷的CRUD操作。其中Mybatis-Plus对于XML文件的使用也进行了优化,主要表现在以下方面。 XML写法Mybatis-Plus的XML与传统的MybatisXML有相似之处,但也有不同点,下面是一个简单的例子: ``` <!--mybatis-plus的XML配置--> <resultMap type="com.baomidou.mybatisplus.samples.quickstart.entity.User" id="userMap"> <result column="id" property="id" jdbcType="BIGINT"/> <result column="name" property="name" jdbcType="VARCHAR"/> <result column="age" property="age" jdbcType="INTEGER"/> <result column="email" property="email" jdbcType="VARCHAR"/> <result column="status" property="status" jdbcType="INTEGER"/> <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> </resultMap> <select id="selectUser" resultMap="userMap" parameterType="com.baomidou.mybatisplus.samples.quickstart.entity.User"> SELECT * FROM USER WHERE ID=#{id} </select> ``` 以上代码部分展示了Mybatis-Plus的XML配置方式。其中,resultMap的配置与Mybatis基本相同,但是在select标签上有所不同的地方,其中: 1. id:与Mybatis相同,表示该sql语句的id,调用时需要根据该id进行调用。 2. parameterType:表示该sql语句的参数类型,这使用了实体类User。 3. resultMap:表示该sql语句查询结果的映射,指定了resultMap的id值。 此外,Mybatis-Plus还支持一些其他的写法,如Wrapper和Lambda写法等,可以更方便的进行复杂的查询操作。同时,Mybatis-Plus也提供了一些注解方式的写法,这个会在注解的使用中进行介绍。 总的来说,Mybatis-Plus的XML写法基本与Mybatis相同,同时在使用上也做出了优化,提高了开发的效率,同时也兼顾了Mybatis的灵活性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值