mybatis 反射实现泛型多添加查询
时间: 2023-11-22 20:04:34 浏览: 231
mybatis利用association或collection传递多参数子查询
Mybatis 通过反射实现泛型多添加查询非常方便。可以使用 Mybatis 提供的通用 Mapper 插件,或者自定义 Mapper 接口和对应的映射文件。以下是自定义 Mapper 接口和对应的映射文件实现泛型多添加查询的示例代码:
1. 自定义 Mapper 接口
```java
public interface MyMapper<T> {
List<T> selectAll();
int insert(T record);
}
```
2. 对应的映射文件
```xml
<mapper namespace="com.example.MyMapper">
<resultMap id="BaseResultMap" type="T">
<!-- 映射结果集 -->
</resultMap>
<select id="selectAll" resultMap="BaseResultMap">
SELECT * FROM ${tableName}
</select>
<insert id="insert" parameterType="T">
INSERT INTO ${tableName} (column1, column2, ...) VALUES (#{property1}, #{property2}, ...)
</insert>
</mapper>
```
其中,`${tableName}` 表示表名,`#{property}` 表示实体类中对应的属性名。这样就可以根据不同的实体类类型,动态生成对应的 SQL 语句,实现泛型多添加查询。
阅读全文