• 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();
        }
  • 相关阅读:
    linux-who
    Linux开机禁用开启防火墙
    linux环境vnc安装
    NFS配置及开机自动挂载
    yum list失败
    镜像文件挂载及本地yum搭建
    weblogic在64位windows的设置
    linux操作系统语言更改
    Linux磁盘空间扩容(LVM)
    Nginx 拒接服务漏洞(CVE-2016-0747)整改
  • 原文地址:https://www.cnblogs.com/zxf330301/p/9508749.html
Copyright © 2020-2023  润新知