以下是 AbstractWrapper 的一些主要方法和属性:
1. 公共属性
- protected final LinkedHashMap<String, Object> paramNameValuePairs: 存储参数名和参数值的映射关系。在构建 SQL 语句时,这个映射用于生成条件部分。
2. 方法
- public String getSqlSegment(): 获取 SQL 片段,用于条件构造器中生成 SQL 语句的 WHERE 子句。
- public String getParamAlias(): 获取参数别名,用于条件构造器中生成 SQL 语句的参数别名。
- protected void initEntityClass(T entity): 初始化实体类。在 Lambda 表达式条件构造器中,需要通过这个方法来初始化实体类信息。
- protected String columnsToString(String... columns): 将列名数组转换成以逗号分隔的字符串。
- protected boolean isNotEmptyOfEntity(T entity): 判断实体对象是否非空。
- protected String getSqlSelectColumns(boolean queryWrapper): 获取 SQL 语句中的 SELECT 子句,用于查询。
3. 使用示例
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25)
.like("name", "John");
String sqlSegment = queryWrapper.getSqlSegment(); // 获取 SQL 片段
String paramAlias = queryWrapper.getParamAlias(); // 获取参数别名
在上述示例中,getSqlSegment 方法可以用于获取构建的 SQL 片段,getParamAlias 方法可以获取参数别名。
AbstractWrapper 的这些方法和属性为条件构造器提供了一些基础的功能,方便了在构建查询和更新条件时的操作。这些方法和属性的具体实现在 QueryWrapper、UpdateWrapper、LambdaQueryWrapper 和 LambdaUpdateWrapper 中有所不同,但它们都继承自 AbstractWrapper。在需要更深入理解和定制条件构造器时,你可以查阅 MyBatis-Plus 的源码或官方文档。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7052/MyBatis