告别永无止境的CRUD, 从零开始写Java代码生成器(一)

最近总是不断的在增删改查,复制, 粘贴, 有什么办法能摆脱这种现状呢? 我知道你也一定很讨厌重复的工作, 庞大的管理系统让我们把复制粘贴运用到了极致,这样永无止境下去, 跟搬砖又有什么区别?

于是, 动手来写一个代码生成器吧! 从Javabean到Dao,Mapper,Service,Controller,JSP 都交给代码生成器来完成好不好?

新建一个Maven项目,CodeGenerator, 其pom.xml核心配置如下:

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3     <modelVersion>4.0.0</modelVersion>
 4     <groupId>cn.org.j2ee</groupId>
 5     <artifactId>CodeGenerator</artifactId>
 6     <version>0.0.1-SNAPSHOT</version>
 7     <packaging>jar</packaging>
 8     <name>CodeGenerator</name>
 9     <url>http://www.j2ee.org.cn</url>
10     <description>Java代码生成器</description>
11
12     <properties>
13         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
14     </properties>
15
16     <dependencies>
17         <dependency>
18             <groupId>junit</groupId>
19             <artifactId>junit</artifactId>
20             <version>4.10</version>
21             <scope>test</scope>
22         </dependency>
23         <dependency>
24             <groupId>commons-collections</groupId>
25             <artifactId>commons-collections</artifactId>
26             <version>3.1</version>
27         </dependency>
28         <dependency>
29             <groupId>commons-lang</groupId>
30             <artifactId>commons-lang</artifactId>
31             <version>2.4</version>
32         </dependency>
33         <dependency>
34             <groupId>commons-logging</groupId>
35             <artifactId>commons-logging</artifactId>
36             <version>1.1.1</version>
37         </dependency>
38         <dependency>
39             <groupId>dom4j</groupId>
40             <artifactId>dom4j</artifactId>
41             <version>1.6</version>
42         </dependency>
43         <dependency>
44             <groupId>log4j</groupId>
45             <artifactId>log4j</artifactId>
46             <version>1.2.16</version>
47         </dependency>
48         <dependency>
49             <groupId>org.apache.velocity</groupId>
50             <artifactId>velocity</artifactId>
51             <version>1.7</version>
52         </dependency>
53         <dependency>
54             <groupId>mysql</groupId>
55             <artifactId>mysql-connector-java</artifactId>
56             <version>5.1.26</version>
57         </dependency>
58         <!-- Servlet -->
59         <dependency>
60             <groupId>javax.servlet</groupId>
61             <artifactId>servlet-api</artifactId>
62             <version>2.5</version>
63             <scope>provided</scope>
64         </dependency>
65         <dependency>
66             <groupId>javax.servlet.jsp</groupId>
67             <artifactId>jsp-api</artifactId>
68             <version>2.1</version>
69             <scope>provided</scope>
70         </dependency>
71         <dependency>
72             <groupId>javax.servlet</groupId>
73             <artifactId>jstl</artifactId>
74             <version>1.2</version>
75         </dependency>
76         <dependency>
77             <groupId>dom4j</groupId>
78             <artifactId>dom4j</artifactId>
79             <version>1.6.1</version>
80         </dependency>
81     </dependencies>
82 </project>

pom.xml 中加入了一些可能或者必须用到的jar包;

整体的项目结构大致如下:(目前版本0.1)

待续...

时间: 2024-12-31 14:27:47

告别永无止境的CRUD, 从零开始写Java代码生成器(一)的相关文章

【EatBook】-NO.3.EatBook.3.JavaArchitecture.2.001-《架构探险:从零开始写Java Web框架》-

1.0.0 Summary Tittle:[EatBook]-NO.3.EatBook.3.JavaArchitecture.2.001-<架构探险:从零开始写Java Web框架>- Style:JavaArchitecture Series:Architecture Publishing House:电子工业 Author: 黄勇 Page Number:349 Since:2017-04-06 End:ing... Total Hours:ing... Degree Of Diffcul

从零开始写JavaWeb框架(第一章节)

今天买的两本书到了,其中一本是<从零开始写JavaWeb框架> 因为是第一次用IDEA,期间遇到很多问题,比如:怎么在IDEA中配置tomcat,我是这样解决的: 在IDEA界面的右上角点击: 点击+,选择Maven 到了如下界面: 在Name中输入tomcat,在Command line中输入tomcat7:run,然后点击apply. 然后就可以运行了. 第一章节如下: pom.xml <?xml version="1.0" encoding="UTF-

从零开始理解JAVA事件处理机制(2)

第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事件驱动模型初窥 我们要说事件驱动模型是观察者模式的升级版本,那我们就要说说其中的对应关系: 观察者对应监听器(学生) 被观察者对应事件源(教师) 事件源产生事件,监听器监听事件.爱钻牛角尖的朋友可能会说,我擦,什么叫产生事件,监听事件,事件事件到底什么? 莫慌,如果我们用代码来说事,事件源它就是个类,事件就是

从零开始学java之出入门卫管理系统(三)

  这个系统包含了四块,第一块就是人员管理,经理分配三位分别有"ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理.同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这"ABC"权限的三个人代为写来访申请,来访审批,来访门卫登记管理.     具体步骤如下:     因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度.     从零开始学Java之出入门卫管理

如何从零开始学习Java语言

1.如何从零开始学习Java语言 许多朋友在学习新的语言上有些困惑,如何学好Java语言. 如何学好Java语言,分二种技术人员 1)第一种:有编程语言的技术人员 IT行业的朋友,应为本事就有编程语言的技术,学习Java语言不是困难的事情.所谓的懂一门语言就会其他语言.为什么这么说,应他们有一些编程的基本知识,他们知道如何去学习技术.(但这里有一点却记:不要认为自己懂了一门编程语言就学习其他语言很简单.就跳过一些基本知识不学习.)如果你是这样的话,请立即改正这错误观点,因为这样你即时学会了这门语

从零开始理解JAVA事件处理机制(3)

我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们点击鼠标,鼠标发送指令,执行代码. 一:鼠标点击事件处理模型基础版 这个时候,我们必须去查看下JDK中相关类型.对照着上一节<从零开始理解JAVA事件处理机制(2)>中的UML图,我们很快发现,对应HomeworkListener,JDK中有MouseListener,其实我们靠分析也能得知,Mo

从零开始学Java之出入门卫管理(二)

    这个系统包含了四块,第一块就是人员管理,经理分配三位分别有"ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理.同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这"ABC"权限的三个人代为写来访申请,来访审批,来访门卫登记管理.     具体步骤如下:     因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度.     从零开始学Java之出入门卫

从零开始在JAVA世界冒险——(零)

主要是这学期有J2EE课,所以就来学JAVA了,顺便开了JAVA的学期帖,之后还有HTML和JS以及CSS(不说了学习去了 首先这里推荐一个我个人觉得比较好的B站从零开始JAVA教程:av48144058(不过他有700多P,可以挑自己不懂的地方学习 之后这里推荐写JAVA的软件使用过程:记事本 → Notepad++/Edit Plus → Eclipse → IDEA (有些人对推荐记事本不是很理解,但是我认为学习一门新的语言的时候从最基层做起是最为重要的,因为不同语言的习惯是不一样的,只有

从零开始写个一个豆瓣电影 (小程序教程1)

微信小程序内测至今也有20天左右,也有很多人作出了很多不错的DEMO并发布到github了.前几日看见了豆瓣电影这个demo,感觉很不错,也跟着做了一个,作为复习巩固文档API用. 废话不多说,直接进入正题: 第一节只写一个首页的展示,数据用的是自己写的虚拟的数据 新建一个demo,不要使用微信自带的DEMO,直接从零开始写起: 首先创建3个文件: app.json app.js apps.wxss app.json  : 主要写配置项:内容如下,具体的每个key值对应的意思,这里就不再细说了,