5. Mybatis UPDATE更新,DELETE删除

本文详细介绍了MyBatis框架中更新(update)和删除(delete)操作的XML映射文件配置方法,通过具体示例展示了如何使用Blog实体类进行数据库操作。

案例:

1. update

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper  
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
<mapper namespace="com.accp.mybatis.model.Blog">  
    <update id="updateBlog" parameterType="Blog">    
       UPDATE Blog    
            SET title = #{title},     
                author_id = #{author.id},    
         WHERE id = #{id};  
    </update>    
</mapper>  

2. delete

<delete id="deleteBlog" parameterType="Blog">    
      DELETE FROM BLOG WHERE ID = #{id}    
</delete> 

update、delete语句属性配置细节:

 

转载于:https://www.cnblogs.com/shix0909/p/11149188.html

package com.sbibits.evanes.fbond.service.dao.zero.model; import org.mybatis.dynamic.sql.AliasableSqlTable; import org.mybatis.dynamic.sql.SqlColumn; import javax.annotation.Generated; import java.sql.JDBCType; import java.time.LocalDateTime; public final class ZeroBondBalanceDateAdjDynamicSqlSupport { @Generated("org.mybatis.generator.api.MyBatisGenerator") public static final ZeroBondBalanceDateAdj zeroBondBalanceDateAdj = new ZeroBondBalanceDateAdj(); @Generated("org.mybatis.generator.api.MyBatisGenerator") public static final SqlColumn<String> bdmBondCode = zeroBondBalanceDateAdj.bdmBondCode; @Generated("org.mybatis.generator.api.MyBatisGenerator") public static final SqlColumn<String> businessDate = zeroBondBalanceDateAdj.businessDate; @Generated("org.mybatis.generator.api.MyBatisGenerator") public static final SqlColumn<String> checkBalanceDate = zeroBondBalanceDateAdj.checkBalanceDate; @Generated("org.mybatis.generator.api.MyBatisGenerator") public static final SqlColumn<String> restrictBalanceDate = zeroBondBalanceDateAdj.restrictBalanceDate; @Generated("org.mybatis.generator.api.MyBatisGenerator") public static final SqlColumn<String> deleteFlg = zeroBondBalanceDateAdj.deleteFlg; @Generated("org.mybatis.generator.api.MyBatisGenerator") public static final SqlColumn<String> updateUser = zeroBondBalanceDateAdj.updateUser; @Generated("org.mybatis.generator.api.MyBatisGenerator") public static final SqlColumn<LocalDateTime> updateDate = zeroBondBalanceDateAdj.updateDate; @Generated("org.mybatis.generator.api.MyBatisGenerator") public static final class ZeroBondBalanceDateAdj extends AliasableSqlTable<ZeroBondBalanceDateAdj> { public final SqlColumn<String> bdmBondCode = column("BDM_BOND_CODE", JDBCType.VARCHAR); public final SqlColumn<String> businessDate = column("BUSINESS_DATE", JDBCType.CHAR); public final SqlColumn<String> checkBalanceDate = column("CHECK_BALANCE_DATE", JDBCType.CHAR); public final SqlColumn<String> restrictBalanceDate = column("RESTRICT_BALANCE_DATE", JDBCType.CHAR); public final SqlColumn<String> deleteFlg = column("DELETE_FLG", JDBCType.CHAR); public final SqlColumn<String> updateUser = column("UPDATE_USER", JDBCType.VARCHAR); public final SqlColumn<LocalDateTime> updateDate = column("UPDATE_DATE", JDBCType.TIMESTAMP); public ZeroBondBalanceDateAdj() { super("ZERO_BOND_BALANCE_DATE_ADJ", ZeroBondBalanceDateAdj::new); } } } 这种文件是怎么生成的,需要什么jar,什么支持?
最新发布
11-26
这个文件是通过 **MyBatis Generator**(MBG)工具生成的动态SQL支持类,主要用于简化MyBatis动态SQL的编写。以下是生成该文件的关键步骤依赖: --- ### **1. 核心依赖JAR包** - **MyBatis Generator Core** 主工具包,提供代码生成能力: ```xml <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.2</version> <!-- 版本可能更新 --> </dependency> ``` - **MyBatis Dynamic SQL** 生成动态SQL支持类(如`AliasableSqlTable`、`SqlColumn`): ```xml <dependency> <groupId>org.mybatis.dynamic-sql</groupId> <artifactId>mybatis-dynamic-sql</artifactId> <version>1.4.0</version> </dependency> ``` - **数据库驱动** 根据实际数据库选择(如MySQL、Oracle等): ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> ``` --- ### **2. 生成方式** #### **方法一:Maven插件(推荐)** 在`pom.xml`中配置MBG插件,通过`generatorConfig.xml`定义生成规则: ```xml <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.2</version> <configuration> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> </configuration> <dependencies> <dependency> <groupId>org.mybatis.dynamic-sql</groupId> <artifactId>mybatis-dynamic-sql</artifactId> <version>1.4.0</version> </dependency> </dependencies> </plugin> ``` 运行命令: ```bash mvn mybatis-generator:generate ``` #### **方法二:XML配置文件** `generatorConfig.xml`示例片段(动态SQL模式): ```xml <context id="dynamicSql" targetRuntime="MyBatis3DynamicSql"> <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" /> <table tableName="ZERO_BOND_BALANCE_DATE_ADJ"> <generatedKey column="id" sqlStatement="JDBC" identity="true" /> </table> </context> ``` --- ### **3. 生成内容解析** - **动态SQL支持类** - 继承`AliasableSqlTable`,映射数据库表结构。 - 通过`SqlColumn`定义字段与JDBC类型的映射。 - `@Generated`注解标记生成器来源(如`MyBatisGenerator`)。 - **文件用途** 简化动态SQL条件拼接,例如: ```java SelectStatementProvider query = select(bdmBondCode, businessDate) .from(zeroBondBalanceDateAdj) .where(deleteFlg, isEqualTo("0")) .build(); ``` --- ### **4. 注意事项** - **JDBC Type** 需确保`JDBCType`与数据库字段类型匹配(如`VARCHAR`、`TIMESTAMP`)。 - **表名与列名** 默认使用大写蛇形命名(如`BDM_BOND_CODE`),可通过`columnOverride`自定义。 - **生成路径** 输出目录需在配置文件中指定(如`targetPackage="com.example.model"`)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值