【rapid-generator】代码生成器工具使用

<entry key="java_typemapping.java.sql.Timestamp">Date</entry>
<entry key="java_typemapping.java.sql.Date">Date</entry>
<entry key="java_typemapping.java.sql.Time">Date</entry>
<entry key="java_typemapping.java.lang.Byte">Integer</entry>
<entry key="java_typemapping.java.lang.Short">Integer</entry>
<entry key="java_typemapping.java.math.BigDecimal">Double</entry>
<entry key="java_typemapping.java.sql.Clob">String</entry>
<entry key="java_typemapping.java.lang.Float">BigDecimal</entry>
/**
 * @author  
 * ${table.sqlName} 表对应实体
 * ${now?string('yyyy/MM/dd hh:mm:ss')}
 */

package ${modules}.entity;
<#assign className = table.className>
<#assign classNameLower = className?uncap_first>
import ${basepackage}.common.codegen.genClass.DataEntity;
import java.util.Date;
import java.math.BigDecimal;

<#include "/java_imports.include">
public class ${className}  extends DataEntity<${className}> {
<@generateJavaColumns/>
<#macro generateJavaColumns>
<#list table.columns as column>
<#if column.isNotIdOrVersionField && column.columnNameLower != "updateDate" && column.columnNameLower != "createBy"&&column.columnNameLower != "createDate" &&column.columnNameLower != "updateBy" &&column.columnNameLower != "delFlag"&&column.columnNameLower != "remarks" >
        /**
         * ${column.remarks}
         */
    private ${column.simpleJavaType} ${column.columnNameLower};
    public void set${column.columnNameLower?cap_first}(${column.simpleJavaType} ${column.columnNameLower}) {
        this.${column.columnNameLower} = ${column.columnNameLower};
    }
    public ${column.simpleJavaType} get${column.columnNameLower?cap_first}() {
        return this.${column.columnNameLower};
    }
</#if>
</#list>
</#macro>
        }

package ${modules}.basedao;
<#assign className = table.className>
<#assign classNameLower = className?uncap_first>
import ${basepackage}.common.codegen.genClass.CrudDao;
import ${modules}.entity.${className};
import ${basepackage}.common.codegen.genClass.Sql2oHelper;
import java.util.Date;
import java.util.List;
import java.util.function.Function;
import ${basepackage}.viewModel.Page;

<#include "/java_imports.include">
   public class ${className}BaseDao implements CrudDao<${className}> {
        private final  String SQL_QUERY_BY_ID = "select <#list table.columns as column><#if column.isNotIdOrVersionField>${column.sqlName} as ${column.columnNameLower},</#if></#list> ${table.pkColumn.sqlName} from ${table.sqlName} where ${table.pkColumn.sqlName}=:${table.pkColumn.sqlName}";
        private  String SQL_QUERYLIST = "select <#list table.columns as column><#if column.isNotIdOrVersionField>${column.sqlName} as ${column.columnNameLower},</#if></#list> ${table.pkColumn.sqlName} from ${table.sqlName} where del_flag=0 ";
        private String SQL_INSERT = "insert  into ${table.sqlName}" +
        "(<#list table.columns as column><#if column.isNotIdOrVersionField>${column.sqlName},</#if></#list> ${table.pkColumn.sqlName}) " +
        "values (<#list table.columns as column><#if column.isNotIdOrVersionField>:${column.columnNameLower},</#if></#list> :${table.pkColumn.columnNameLower})";
        private  final  String SQL_DELETE_BY_ID="UPDATE ${table.sqlName} SET del_flag=1 WHERE id =:id";
        private String SQL_QUERYLIST_TOTAL = "select count(1) from ${table.sqlName} where del_flag=0 ";
        /**
         * 根据编号获取实体
         * @param id 编号
         * @return
         */
        @Override
        public ${className} get(String id) {
             return Sql2oHelper.get(id, ${className}.class,SQL_QUERY_BY_ID);
        }
        /**
         * 根据实体条件获取列表
         */
        @Override
        public List<${className}> findList(${className} entity) {
        return  getPage(1,Integer.MAX_VALUE,entity).getList();

        }
    /**
     * 根据指定实体分页获取所有列表数据
     */
    public Page<${className}> getPage(int pageIndex, int pageSize,${className} entity) {
        Page<${className}> result = new Page<>();
        StringBuffer sqlStr=new StringBuffer();
        StringBuffer sqlStr_Total=new StringBuffer();
        sqlStr.append(SQL_QUERYLIST);
        sqlStr_Total.append(SQL_QUERYLIST_TOTAL);
<#list table.columns as column>
        if(entity.get${column.columnNameLower?cap_first}()!=null)
        {
        sqlStr.append(" and ${column.sqlName}=:${column.columnNameLower}");
        sqlStr_Total.append(" and ${column.sqlName}=:${column.columnNameLower}");
        }
</#list>
        sqlStr.append(" order by create_date desc");
        result.setTotal(Integer.parseInt(Sql2oHelper.getScalar(entity,sqlStr_Total.toString()).toString()));
        sqlStr.append(" LIMIT " + ((pageIndex-1) * pageSize) + "," + pageSize);
        result.setList(Sql2oHelper.list(entity,sqlStr.toString()));
        return result;
        }
    /**
     *  获取所有列表数据
     */
        @Override
        public List<${className}> findAllList() {
              return  Sql2oHelper.allList(${className}.class,SQL_QUERYLIST);
        }


    /**
     * 分页获取所有列表数据
     */
    public Page<${className}> getPage(int pageIndex, int pageSize) {
        Page<${className}> result = new Page<>();
        result.setTotal(Integer.parseInt(Sql2oHelper.getScalar(null,SQL_QUERYLIST_TOTAL).toString()));
        String sql= SQL_QUERYLIST + " order by create_date desc LIMIT " + ((pageIndex-1) * pageSize) + "," + pageSize;
        result.setList(Sql2oHelper.allList(${className}.class, sql));
        return result;
        }


/**
 * 插入数据
 */
        @Override
        public int insert(${className} entity) {
            if(entity==null)
            {
              return  0;
            }
            entity.preInsert();
            return  Sql2oHelper.insert(entity,SQL_INSERT);
        }
/**
 * 插入数据返回该数据实体
 */
        public int insert(${className} entity, Function<${className}, String> function) {
            if (entity == null) {
            return 0;
            }
            entity.preInsert();
            function.apply(entity);
            return Sql2oHelper.insert(entity, SQL_INSERT);
        }
/**
 * 更新数据
 */
        @Override
        public int update(${className} entity) {
            int flag=0;
            if(entity==null && org.springframework.util.StringUtils.isEmpty(entity.getId()))
            {
            return  flag;
            }
            StringBuffer sqlStr=new StringBuffer();
            sqlStr.append("update ${table.sqlName} set id=:id ");
            <#list table.columns as column>
            if(entity.get${column.columnNameLower?cap_first}()!=null)
            {
                 sqlStr.append(",${column.sqlName}=:${column.columnNameLower}");
            }
            </#list>
            sqlStr.append(" where id=:${table.pkColumn.columnNameLower}");
            flag=Sql2oHelper.update(entity,sqlStr.toString());
            return flag;
        }
/**
 * 根据编号删除数据
 */
        @Override
        public int delete(String id) {
             return Sql2oHelper.delete(id,SQL_DELETE_BY_ID);
        }

        @Override
        public int delete(${className} entity) {

             return 0;
        }

      }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑起来贼好看

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值