您当前的位置: 首页 >  Java

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

基于FreeMarker和DBUtils的JavaWeb代码生成器二

梁云亮 发布时间:2019-11-09 12:11:11 ,浏览量:2

基于FreeMarker和DBUtils的JavaWeb代码生成器二 相关博客

基于FreeMarker和DBUtils的JavaWeb代码生成器 一 基于FreeMarker和DBUtils的JavaWeb代码生成器 二 基于FreeMarker和DBUtils的JavaWeb代码生成器 三 源代码下载地址:DBUtilsGenerator

1、用来生成代码文件的Freemarker工具类:FreemarkerUtil.java
public class FreemarkerUtil {

    public static void execute(String ftlNameWithPath, Map data, Writer out) throws IOException, TemplateException {
        Configuration cfg = new Configuration(Configuration.VERSION_2_3_25);//创建Freemarker配置实例

        int i = ftlNameWithPath.lastIndexOf("/") == -1 ? ftlNameWithPath.lastIndexOf("\\") : ftlNameWithPath.lastIndexOf("/");

        cfg.setDirectoryForTemplateLoading(new File(ftlNameWithPath.substring(0, i + 1)));

        cfg.setDefaultEncoding("UTF-8");

        Template t1 = cfg.getTemplate(ftlNameWithPath.substring(i + 1));//加载模板文件
        t1.process(data, out);
        out.flush();
    }

}
2、具体的Freemarker模板文件
  • 1)entity.ftl
    package ${pkg};
    
    
    import ${importItem};
    
    
    public class ${clazzName} {
        
        
    	/**
        * ${property.comment}
        */
    	
        private ${property.javaType} ${property.propertyName};
        
    
        public ${clazzName}(){
        }
    
        public ${clazzName}(${prop.javaType} ${prop.propertyName}, ){
        
            this.${prop.propertyName}=${prop.propertyName};
        
        }
    
        
        public ${prop.javaType} get${prop.propertyName?cap_first}(){
            return this.${prop.propertyName};
        }
        public void set${prop.propertyName?cap_first}(${prop.javaType} ${prop.propertyName}){
            this.${prop.propertyName} = ${prop.propertyName};
        }
        
        
    
        @Override
        public String toString() {
            return "${clazzName}{" +
                    
                    ", ${prop.propertyName}=" + ${prop.propertyName} +
                    
                    '}';
        }
    
        
         外键相关 /
        private ${k} ${k?uncap_first};
    
        public ${k} get${k}(){
            return this.${k?uncap_first};
        }
    
        public void set${k}(${k} ${k?uncap_first}){
            this.${k?uncap_first} = ${k?uncap_first};
        }
    
        
    }
    
  • 2)dao.ftl
    package ${pkg};
    
    import ${clazzNameWithPkg};
    import java.util.List;
    import java.sql.SQLException;
    import ${pageParamWithPkg};
    
    public interface ${clazzName}Dao {
        int insert${clazzName}(${clazzName} ${clazzName?uncap_first}) throws SQLException;
    
    	int batchInsert${clazzName}(List ${clazzName?uncap_first}List) throws SQLException;
    
        int delete${clazzName}By${pk?cap_first}(${pkType} ${pk}) throws SQLException;
    
    	int delete${clazzName}ByCondition(${clazzName} ${clazzName?uncap_first}) throws SQLException;
    
    	int batchDelete${clazzName}By${pk?cap_first}s(String ${pk}s) throws SQLException;
    
        int update${clazzName}(${clazzName} ${clazzName?uncap_first}) throws SQLException;
    
        long selectCount() throws SQLException;
        
        long selectCountByCondition(${clazzName} ${clazzName?uncap_first}) throws SQLException;
    
        ${clazzName} select${clazzName}By${pk?cap_first}(${pkType} ${pk}) throws SQLException;
    
        List selectAll${clazzName}() throws SQLException;
    
    	List select${clazzName}ByCondition(${clazzName} ${clazzName?uncap_first}) throws SQLException;
    
        List select${clazzName}WithPagination(PageParam pageParam) throws SQLException;
    
        List select${clazzName}WithPaginationByCondition(PageParam pageParam, ${clazzName} ${clazzName?uncap_first}) throws SQLException;
        
        
        List select${clazzName}By${item.propertyName?cap_first}(${item.javaType} ${item.propertyName}) throws SQLException;
    
        
    }
    
  • 3)daoImpl.ftl
    package ${pkg};
    
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.ScalarHandler;
    import org.apache.commons.dbutils.handlers.BeanHandler;
    import org.apache.commons.dbutils.handlers.BeanListHandler;
    
    import ${clazzNameWithPkg};
    import java.util.List;
    import java.util.ArrayList;
    import ${dbutil};
    import ${daoNameWithPkg};
    import java.sql.SQLException;
    import ${pageParamWithPkg};
    
    public class ${clazzName}DaoImpl implements ${clazzName}Dao {
        private QueryRunner queryRunner = DBUtil.getRunner();
    
        @Override
        public int insert${clazzName}(${clazzName} ${clazzName?uncap_first}) throws SQLException{
            String sql ="insert into ${tableName} ${fieldStr} values ${wenHaoStr}";
            return queryRunner.update(sql ,${valueStr});
        }
        
        @Override
        public int batchInsert${clazzName}(List ${clazzName?uncap_first}List) throws SQLException{
        	Object[][] params = new Object[${clazzName?uncap_first}List.size()][${propertyList?size}];
    
    		for (int i = 0; i             
关注
打赏
1665409997
查看更多评论
0.1147s