太懒,不多说看图,mybatis-generator工具执行后的项目结构

这个时候没得额service接口类,和service实现类,也没的controller类

执行引擎工具类BeanGenerateUtil后结果

可以看见自动创建了包,和service接口类,和service实现类与controller类,别的内容我就不在一一展示了。自动完成了单个类的增删改查的API,注释,注解,都有了,在也不用担心忘记了配置@service注解什么的了,不过模板的一定保证正确哦。

BeanGenerateUtil类

public class BeanGenerateUtil {

private Configuration cfg;

private String projectUrl = "H:\\xxxxxxx\\lazyDevelop"; //项目路径

@SuppressWarnings("deprecation")

public void init() throws IOException {

cfg = new Configuration();

// 设置模板存放位置

cfg.setDirectoryForTemplateLoading(new File(projectUrl + "//src//test//java//generating//template"));

}

public void process(BeanGenerateUtil bgUtil) throws IOException {

Map root = new HashMap();

String model_name = "User";

root.put("page_id", "lazy.develop");//生成的包名

root.put("dao_id", "lazy.develop.generator");//dao和实体类的包名

root.put("module_id", "id");//主键

root.put("model_name", "User");//类名

root.put("model_name_cn", "用户");//描述

root.put("object", "user");//实列名

// 项目java文件位置

String ServicePath = projectUrl + "//src//main//java//";

/*************** 生成Service ***************/

String fileName = model_name + "Service.java";

String savePath = "com//lazy//develop//service//";

Template template = cfg.getTemplate("Service.ftl");

bgUtil.buildTemplate(root, ServicePath, savePath, fileName, template);

/*************** 生成ServiceImpl ***************/

String ServiceimplPath = projectUrl + "//src//main//java//";

fileName = model_name + "ServiceImpl.java";

savePath = "com//lazy//develop//service//impl//";

template = cfg.getTemplate("ServiceImpl.ftl");

bgUtil.buildTemplate(root, ServiceimplPath, savePath, fileName, template);

/*************** 生成Controller ***************/

String ControllerPath = projectUrl + "//src//main//java//";

fileName = model_name + "Controller.java";

savePath = "com//lazy//develop//controller//";

template = cfg.getTemplate("Controller.ftl");

bgUtil.buildTemplate(root, ControllerPath, savePath, fileName, template);

}

public void buildTemplate(Map root, String projectPath, String savePath, String fileName, Template template) {

String realFileName = projectPath + savePath + fileName;

String realSavePath = projectPath + "/" + savePath;

File newsDir = new File(realSavePath);

if (!newsDir.exists()) {

newsDir.mkdirs();

}

try {

Writer out = new OutputStreamWriter(new FileOutputStream(realFileName), "UTF-8");

template.process(root, out);

} catch (Exception e) {

System.out.println("==运行异常:"+ e);

}

}

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

BeanGenerateUtil bgUtil = new BeanGenerateUtil();

bgUtil.init();

bgUtil.process(bgUtil);

System.out.println("生成Bean成功");

}

}

展示一个模板

/**

* @filename:Const 2018年01月01日

* @project 微面 边鹏 V1.0

* Copyright(c) 2017 BianP Co. Ltd.

* All right reserved.

*/

package com.${page_id}.service;

import com.${dao_id}.entity.${model_name};

/**

* @explain 逻辑层,接口类(${model_name_cn})

* @author BianP

* @class ${model_name}Service.java

*/

public interface ${model_name}Service {

/**

* @explain 查找对象

* @param id

* @return ${model_name}

* @throws Exception

*/

public ${model_name} selectByPrimaryKey(Long id);

/**

* @explain 保存对象(添加)

* @param ${model_name}

* @return int

* @throws Exception

*/

public int insertSelective(${model_name} ${object});

/**

* @explain 有选择性:修改对象

* @param ${model_name}

* @return int

* @throws Exception

*/

public int updateByPrimaryKeySelective(${model_name} ${object});

/**

* @explain 有选择性:全修改

* @param ${model_name}

* @return int

* @throws Exception

*/

public int updateByPrimaryKey(${model_name} ${object});

/**

* @explain 删除对象

* @param id

* @return int

* @throws Exception

*/

public int deleteByPrimaryKey(Long id);

}

看到这,大家应该都清楚了吧,很简单的,这个方式的灵活性不是很高。不过对开发减少工作量还是不错的,也减少了工作因粗心造成的遗漏。

java 怎么快速找到实现类_JAVA懒开发:FreeMarker快速实现类的增删改查接口相关推荐

  1. java jdom进行xml的增删改差_java使用DOM对XML文档进行增删改查操作实例代码

    本文研究的主要是java使用DOM对XML文档进行增删改查操作的相关代码,具体实例如下所示. 源代码: package com.zc.homeWork18; import java.io.File; ...

  2. vue+element实现树状表格的增删改查;使用el-table树形数据与懒加载实现树状表格增删改查

    以下代码可以直接复制使用 一.情景: 列表是一个树状表格,可以无限添加下级,以及对列表的某一行进行增删改查(目前查没有写). 原博链接 二.本篇是在原博主的代码基础上添加了部分功能. 功能1: 给树状 ...

  3. dept在Java里面_EmpDeptManager 在JavaEE环境下搭建三大框架体系实现员工的增删改查系统 Develop 261万源代码下载- www.pudn.com...

    文件名称: EmpDeptManager下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 39 KB 上传时间: 2016-07-08 下载次数: 0 提 供 者 ...

  4. java增删改查_Java程序员你真的甘心只做增删改查吗

    各位志同道合的朋友们大家好,我是一个一直在一线互联网踩坑十余年的编码爱好者,现在将我们的各种经验以及架构实战分享出来,如果大家喜欢,就关注我,一起将技术学深学透,我会每一篇分享结束都会预告下一专题 最 ...

  5. 【JAVA线上实习】【SSM框架学习】利用SSM框架完成增删改查-----查

    前言 写博客写到脊椎断掉QAQ 知识拓展与延申 -[设计模式] 其实这方面我也不是很懂,有空补充 -[事务] 以上关于事务的所有解释来自于博客: https://blog.csdn.net/CSDN_ ...

  6. 【Java Web开发指南】Maven+MyBatis实现增删改查的Demo

    文章目录 1 概述 1.1 Maven 1.2 Mybatis(ORM) 2 Mybatis开发指南 3 DATABASE 4 代码 4.1 目录结构 4.2 详细步骤 5 附录 1 概述 源码: h ...

  7. MongoDB快速上手、windows安装、常用命令、文档基本增删改查、mongoDB的索引

    MongoDB快速上手 目标 理解MongoDB的业务场景.熟悉MongoDB的简介.特点和体系结构.数据类型等. 能够在Windows和Linux下安装和启动MongoDB.图形化管理界面Compa ...

  8. java单链表 提供增删改查_java实现单链表增删改查的实例代码详解

    package 数据结构算法.链表; /* *定义节点 * 链表由节点构成 */ public class node { private e e; //数据data private node next ...

  9. html单页面js完成表数据库自动生成带注释的java实体类和简单的增删改查sql

    支持Mysql和Oracle,mybatis和ibatis可选.功能主要还是字符串的拼凑完成的,把用把表信息复制过来或者增加后台,就可以生成简单的增删改查了 临时体验点这里 我也不知道地址什么时候失效 ...

最新文章

  1. Cell | 小基因开启微生物组研究新领域——大规模鉴定微生物基因组编码的小蛋白质...
  2. verdi bin工具
  3. volatile的正确使用姿势
  4. VDI序曲十四 使用 RemoteFX 安装和配置 USB 重定向
  5. 随笔 | 读《写给年轻程序员的思考书》ii
  6. [9018_1563][bzoj_2144]跳跳棋
  7. [BI项目记]-搭建代码管理环境之创建团队项目
  8. STM32学习心得二十九:I2C通讯实验及相关代码解读
  9. html菜鸟教程 很多代码,HTML5 代码编写规范简介
  10. 通达信自动交易软件步骤分析
  11. Phpstudy 隐藏后门远程代码执行
  12. 深度linux升级,测试从Deepin Linux 15升级到Deepin Linux v20
  13. 微正MZFinger指纹识别算法
  14. 重装系统后电脑主机前面音频输出没用暨Realtek高清晰音频管理器
  15. 计算机网速单位是什么,文件大小和网速的单位
  16. 360如何清理注册表
  17. Ceph 集群监控之Calamari 安装部署
  18. 案例复盘:从上海首例遗弃犬只案看 如何精准研判舆情争议点
  19. NPDP知识推送-第七章产品生周期管理(1)
  20. Window的DOS命令

热门文章

  1. 三十、开始前端Vue.js的学习之路
  2. 四、CSS知识总结(下篇)
  3. 实录分享 | 计算未来轻沙龙:“法律+AI”前沿研讨会(PPT下载)
  4. 计算机视觉:基于YOLO-V3林业病虫害目标检测
  5. Numpy-查看数组的属性
  6. 以太坊怎么注册_以太坊2.0将至,牛市即将到来??
  7. mysql运行报错64bit_关于MySQL5.6.25在Win7 64bit下重装后无法启动的解决方法
  8. 算法系列之使用赫夫曼编码的实战应用【对文件进行压缩、解压缩】
  9. Velocity——模板中转换字符串首字母小写解决方案
  10. The Digits String