mybatis 动态表名
时间: 2023-11-23 15:06:46 浏览: 96
mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题
Mybatis可以通过动态SQL来实现动态表名的功能。下面是一个简单的例子:
```xml
<select id="selectUserById" resultType="User">
SELECT * FROM ${tableName} WHERE id = #{id}
</select>
```
在这个例子中,`${tableName}`就是动态表名的部分,它会在运行时被替换成实际的表名。在Java代码中,可以通过传递一个包含表名的Map来实现动态表名的功能:
```java
Map<String, Object> params = new HashMap<>();
params.put("tableName", "user_201901");
params.put("id", 1);
User user = sqlSession.selectOne("selectUserById", params);
```
在这个例子中,我们将表名作为一个参数传递给了Mybatis的SQL语句,Mybatis会将`${tableName}`替换成实际的表名,从而实现动态表名的功能。
阅读全文