mybatis插入语句如何动态传入数据库表字段名
时间: 2023-07-27 22:21:05 浏览: 100
mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题
在 MyBatis 中,可以使用动态 SQL 的方式来传入数据库表字段名。具体做法如下:
1. 在 Mapper XML 中,使用 `<insert>` 标签定义插入语句。
2. 在 `<insert>` 标签内部,使用 `<trim>` 标签来动态生成列名和列值。
3. 在 `<trim>` 标签内部,使用 `<if>` 标签来判断是否需要插入该列。
4. 在 `<if>` 标签内部,使用 `${}` 表达式来引用传入的数据库表字段名和对应的值。
例如,假设传入的数据库表字段名为 `column`,对应的值为 `value`,则可以按照以下方式来动态生成插入语句:
```xml
<insert id="insertData" parameterType="java.util.Map">
INSERT INTO table_name
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="column != null and column != ''">
${column},
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="column != null and column != ''">
#{value},
</if>
</trim>
</insert>
```
这样就可以根据传入的数据库表字段名动态生成插入语句了。
阅读全文