`
53873039oycg
  • 浏览: 841662 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]mybatis insert语句添加动态字段

阅读更多

      mysql数据库,id自增,配置如下:

     

<insert id="saveTestTb" useGeneratedKeys="true" keyProperty="id"
		parameterType="TestTb">
		insert into
		db_ap_fgm_TestTb(id,traffic_type
		<include refid="getTestTbField" />
		)
		values(#{id},#{trafficType}
		<include refid="getTestTbValue" />
		)
	</insert>

	<sql id="getTestTbField">
		<trim prefix="," suffixOverrides=",">
			<if
				test="testA!=null and testA!='null' and testA!=''">
				TESTA,
			</if>
			<if test="level!=null and level!='null' and level!=''">
				LEVEL,
			</if>
			<if test="state!=null and state!='null' and state!=''">
				STATE,
			</if>
			<if test="description!=null and description!='null' and description!=''">
				DESCRIPTION
			</if>
		</trim>
	</sql>

	<sql id="getTestTbValue">
		<trim prefix="," suffixOverrides=",">
			<if
				test="testA!=null and testA!='null' and testA!=''">
				#{testA},
			</if>
			<if test="level!=null and level!='null' and level!=''">
				#{level},
			</if>
			<if test="state!=null and state!='null' and state!=''">
				#{state},
			</if>
			<if test="description!=null and description!='null' and description!=''">
				#{description}
			</if>
		</trim>
	</sql>

 

分享到:
评论

相关推荐

    mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题

    在MyBatis中,有时我们需要处理动态SQL,特别是在插入数据时,字段和表名可能根据不同的情况变化。本文将深入探讨如何在MyBatis中解决插入一个或多个新用户时,字段和表名不确定的问题。 首先,我们来看一下Java...

    Mybatis案例一所用建表语句

    在IT行业中,Mybatis是一个广泛使用的持久层框架,它提供了灵活的SQL映射功能和简单的对象映射,使得Java开发者可以方便地操作数据库。本文将深入探讨Mybatis的基础知识,特别是针对“Mybatis案例一所用建表语句”,...

    oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert

    // 拼接SQL,作为insert语句的一部分 Map, String&gt; lineMap = lineList.get(0); for (String key : lineMap.keySet()) { lineColumn += key + ","; } lineColumn += "LINE_ID"; ``` 这里,`LINE_ID`是自增字段,不...

    mybatis 动态sql及参数传递

    目录 使用场景 动态标签 if标签 where标签 choose、when、otherwise 标签 ...if标签通常用那个胡where语句,update语句,insert语句中,通过判断参数值来决定是否使用某个查询条件,判断是否更新某一个字段或插入某个字段

    MyBatis_insert

    总结:MyBatis的`insert`元素是数据库插入操作的核心,它结合了Java代码和SQL语句,提供了一种灵活、安全的数据库插入方式。通过实例化映射器接口,我们可以方便地在业务逻辑中调用相应的插入方法,实现数据的存入。...

    mybatis生成语句

    - **Mapper XML 文件**:包含具体的 SQL 语句,Generator 可以自动生成简单的 CRUD 语句,也可以通过配置生成复杂的动态 SQL。 - **Mapper 实现类(Mapper Impl)**:自动实现 Mapper 接口,使用 SqlSession 进行...

    mybatis 对clob类型转换

    在MyBatis的配置文件中,你需要为自定义的TypeHandler添加注册,这样MyBatis才能在处理CLOB类型时找到并使用它。例如: ```xml ``` 3. **编写TypeHandler** 下面是一个简单的ClobTypeHandler示例: ```...

    Mybatis 中的insertOrUpdate操作

    总的来说,Mybatis的`insertOrUpdate`操作通过结合`INSERT`和`ON DUPLICATE KEY UPDATE`语句,实现了高效且灵活的数据管理。这种方式避免了先查询后更新的传统步骤,提高了性能。同时,Mybatis通过动态SQL和参数绑定...

    mysql数据库Insert语句后面加ON DUPLICATE KEY UPDATE,保证唯一性1

    当你在`INSERT`语句后添加`ON DUPLICATE KEY UPDATE`,如果新插入的行违反了唯一性约束,MySQL将执行指定的`UPDATE`操作。这里的“唯一性”指的是任何具有唯一索引或主键的列。例如,如果你有一个名为`consume_locus...

    mybatis动态插入sql语句的编写(csdn)————程序.pdf

    在MyBatis中,动态SQL语句的编写是解决数据操作灵活性问题的关键。尤其是在插入数据时,如果某些字段不需要赋值或无法立即提供值,这时就需要利用MyBatis的动态SQL功能来实现。动态SQL允许我们在运行时根据条件构建...

    Mybatis批量foreach merge into的用法

    Mybatis批量foreach merge into的用法是通过Mybatis的动态SQL语法foreach循环插入实现的,这种方法可以批量插入时间价格表数据。如果某个套餐的某天的价格存在,则更新,不存在则插入。下面是该方法的详细介绍: ...

    Mybatis 处理 CLOB、BLOB 类型数据

    在 MyBatis 的映射文件中,需要定义对应的 insert 和 select 语句,例如: ```xml &lt;insert id="insertUserPic" parameterType="UserPic"&gt; select my_seq.nextval from dual insert into user_pics(id, name, ...

    MyBatis批量插入(insert)数据操作

    `foreach`标签是MyBatis提供的循环构造SQL语句的工具,它可以迭代任何集合类型的数据,包括List、Set等。`collection`属性的值取决于传入参数的类型,例如: - 如果是List,`collection`应为`list` - 如果是数组...

    mybatis 批量插入 嵌套select.pdf

    修正后的解决方案是在SELECT查询中为结果集添加别名,使得SELECT的结果可以作为INSERT语句的一个值。这样,查询和插入操作在逻辑上是分离的,避免了MySQL的限制。修改后的XML映射文件如下: ```xml &lt;insert id=...

    使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常)

    现在,当你使用 MyBatis-Plus 的 `insert` 方法插入记录时,你需要确保在调用该方法之前,已经为 `id` 字段赋值了正确的字符串。例如: ```java JtbTransactionRecord record = new JtbTransactionRecord(); record...

    Mybatis Plus 自定义批量插入或批量更新(根据唯一索引)

    最后,关于提供的 `injector` 文件,这可能是 Mybatis Plus 的一个插件或者工具类,用于注入 SQL 语句或者定制特定的操作。不过,由于具体文件内容未知,这里无法给出详细说明。如果你需要关于 `injector` 的具体...

    mybatis_plus动态注解案例

    在MyBatis-Plus中,动态注解使得我们可以根据业务需求在运行时动态地生成SQL语句。例如,我们可以在Mapper接口上使用`@Select`、`@Insert`、`@Update`和`@Delete`注解来编写SQL。这些注解可以接受一个字符串参数,该...

    深入浅析mybatis oracle BLOB类型字段保存与读取

    MyBatis是轻量级的Java ORM(对象关系映射)框架,它允许开发者编写SQL语句并将其映射到Java对象上。在处理BLOB字段时,我们需要确保正确地映射和操作这些字段,以避免数据丢失或格式错误。 首先,我们来看表结构的...

    2024最新MyBatis CRUD操作,动态SQL HM

    这里使用了 `&lt;set&gt;` 元素来动态拼接 SQL 语句,使得只有实际被更新的字段会被写入 SQL 语句中。 ##### 2.4 删除 删除操作可以通过 `&lt;delete&gt;` 标签来实现。 **2.4.1 根据主键ID删除** 示例代码: ```xml ...

    MyBatis基本使用总结

    映射文件包含了SQL语句、结果映射、参数映射等内容,使得MyBatis能根据这些信息动态生成对应的SQL执行逻辑。例如,一个`User`实体类可以对应一个`user_map.xml`映射文件,里面定义了`select`, `insert`, `update`, `...

Global site tag (gtag.js) - Google Analytics