maven+springMVC+mybatis+velocity+mysql+junit 代码生成器

最近刚把spring的源码过了一遍,但总感觉看完不能就这么结束了,得做点什么留下个脚印,所以自己基于maven+springMVC+mybatis+velocity+mysql+junit搭建个工程项目并且做了对应框架的代码生成工具。

下面就把项目框架介绍下,并在最后附带代码下载地址
1.项目基本框架

代码生成器基于velocity作为模板生成,目前主要做了jar包的生成以及web工程的生成,并自动生成demo以及测试用例
2.工程基本框架介绍

JarServerCreator 是用来生成jar包工程
package com.fjsh.spring.mybasti.auto.creater;

import java.util.List;

import com.fjsh.spring.mybasti.auto.classcreator.BaseEntityDAOCreater;
import com.fjsh.spring.mybasti.auto.classcreator.BaseEntityServiceCreater;
import com.fjsh.spring.mybasti.auto.classcreator.CreateFolder;
import com.fjsh.spring.mybasti.auto.classcreator.EntityCreater;
import com.fjsh.spring.mybasti.auto.classcreator.JarPomCreater;
import com.fjsh.spring.mybasti.auto.classcreator.PropertiesCreater;
import com.fjsh.spring.mybasti.auto.db.DbUtils;
import com.fjsh.spring.mybasti.auto.db.Table;
import com.fjsh.spring.mybasti.auto.utils.GlobalsParam;

/**
*@Title:JarServerCreator
*TODO:jar工程生成
*@Description: 
*@author:a925907195@qq.com
*@date 2016年11月6日 下午2:58:01
*
*/
public class JarServerCreator {

	public static void main(String[] args) throws Throwable {
		//系统配置初始化
		GlobalsParam.init();
		// 生成必要的目录结构,同时拷贝必要的文件
		CreateFolder.createrFolder();
		List<Table> tablelist = DbUtils.getAllTableFromDb();
		for (Table td : tablelist) {
			// 生成实体类
			EntityCreater.createEntity(td);
			//生成dao接口和mapper基类实现
			BaseEntityDAOCreater.createBaseDao(td);
			// 生成Service 接口以及接口的实现,并实现基本的测试接口
			BaseEntityServiceCreater.createBaseService(td);
		}	
		// 生成配置文件
		PropertiesCreater.createProperties(tablelist);
		// 生成pom文件
		JarPomCreater.createPom();

	}
}
springMVCCreator 是生成web工程的入口

package com.fjsh.spring.mybasti.auto.creater;

import java.util.List;

import com.fjsh.spring.mybasti.auto.classcreator.BaseEntityDAOCreater;
import com.fjsh.spring.mybasti.auto.classcreator.BaseEntityServiceCreater;
import com.fjsh.spring.mybasti.auto.classcreator.ControllerDemoCreater;
import com.fjsh.spring.mybasti.auto.classcreator.EntityCreater;
import com.fjsh.spring.mybasti.auto.classcreator.SpringMVCCreateFolder;
import com.fjsh.spring.mybasti.auto.classcreator.SpringMVCPomCreater;
import com.fjsh.spring.mybasti.auto.classcreator.SpringMVCPropertiesCreater;
import com.fjsh.spring.mybasti.auto.db.DbUtils;
import com.fjsh.spring.mybasti.auto.db.Table;
import com.fjsh.spring.mybasti.auto.utils.GlobalsParam;

/**
*@Title:springMVCCreator
*TODO:web工程生成
*@Description: 
*@author:a925907195@qq.com
*@date 2016年11月6日 下午2:57:47
*
*/
public class springMVCCreator {

	public static void main(String[] args) throws Throwable {
		//系统配置初始化
		GlobalsParam.init();
		// 生成必要的目录结构,同时拷贝必要的文件
		SpringMVCCreateFolder.createrFolder();
		List<Table> tablelist = DbUtils.getAllTableFromDb();
		for (Table td : tablelist) {
			// 生成实体类
			EntityCreater.createEntity(td);
			//生成dao接口和mapper基类实现
			BaseEntityDAOCreater.createBaseDao(td);
			// 生成Service 接口以及接口的实现
			BaseEntityServiceCreater.createBaseService(td);
		}	
		// 生成controller基础文件并将web基础配置文件拷贝到目的项目文件
		ControllerDemoCreater.createControllerFile();
		// 生成配置文件
		SpringMVCPropertiesCreater.createProperties(tablelist);
		// 生成pom文件
		SpringMVCPomCreater.createPom();

	}
}

com.fjsh.spring.mybasti.auto.db包是用来映射数据库表结构以及属性信息
com.fjsh.spring.mybasti.auto.classcreator 包主要是用来生成框架基本的dao包,service等层级关系
配置文件目录:


template是用来存储模板信息
SystemGlobals.properties 用来存储系统框架生成时候的基本配置信息,基本内容如下:
#base folder maven 基础项目目录地址
basejavafolder=src.main.java
baseresourcesfolder=src.main.resources
basewebappfolder=src.main.webapp
basetestjavafolder=src.test.java
basetestresourcesfolder=src.test.resources


#outputfolder 输出项目目录
outputfolder=D:/workspace/com_spring_mybatis_web
#base package 项目基础包名
basepackage=com.spring.mybatis.user.web
#映射文件存放的文件夹
Mappersfolder=mysqlMappers
groupId=com.spring.mybatis.user.web
artifactId=com_spring_mybatis_user_web
######################数据库连接配置信息#########################
#dburl
ConnetionURL=jdbc:mysql://localhost:3306/dbwww_user?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
DriversClass=com.mysql.jdbc.Driver
UserName=fjsh
PassWord=271608
生成时需配置框架基本必须的信息

项目开发比较仓促,测试不够完善,忘高手指摘完善,感激……

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值