壮心未与年俱老,死去犹能作鬼雄。这篇文章主要讲述mybatis通用mapper源码解析相关的知识,希望能为你提供帮助。
【mybatis通用mapper源码解析】1.javabean的属性值生成sql
/** * 获取所有查询列,如id,name,code... * * @param entityClass * @return */ public static String getAllColumns(Class< ?> entityClass) { Set< EntityColumn> columnSet = EntityHelper.getColumns(entityClass); StringBuilder sql = new StringBuilder(); for (EntityColumn entityColumn : columnSet) { sql.append(entityColumn.getColumn()).append(","); } return sql.substring(0, sql.length() - 1); }
/** * 判断自动==null的条件结构 * * @param entityName * @param column * @param contents * @param empty * @return */ public static String getIfIsNull(String entityName, EntityColumn column, String contents, boolean empty) { StringBuilder sql = new StringBuilder(); sql.append("< if test=""); if (StringUtil.isNotEmpty(entityName)) { sql.append(entityName).append("."); } sql.append(column.getProperty()).append(" == null"); if (empty & & column.getJavaType().equals(String.class)) { sql.append(" or "); if (StringUtil.isNotEmpty(entityName)) { sql.append(entityName).append("."); } sql.append(column.getProperty()).append(" == ‘‘ "); } sql.append(""> "); sql.append(contents); sql.append("< /if> "); return sql.toString(); }
推荐阅读
- android studio 清空缓存插件
- DeepLearning.ai-Week4-Face Recognition for the Happy House
- Android系统的智能指针(轻量级指针强指针和弱指针)的实现原理分析
- Spring Boot 整合 Apache Solr 异常:Expected mime type application/octet-stream but got text/html 的解决.
- 实例化Flask的参数 及 对app的配置
- tomcat 虚拟目录配置appBase和docBase的区别
- android 桌面通知notify
- 使用Tornado作为Django App的服务器
- Android的AsyncTask