Skip to content

该工具包主要完成在项目内根据提供的实体类包,自动生成spring mybatis,所需要的service层接口与实现,数据库表的创建包括主键,描述,长度等的设置,数据库操作接口与对应xml文件,支持jar与maven

License

Notifications You must be signed in to change notification settings

sharehe/autoCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

工具包功能说明

该工具包主要完成在项目内根据提供的实体类包,自动生成spring mybatis,所需要的service层接口与实现,数据库表的创建包括主键,描述,长度等的设置,数据库操作接口与对应xml文件,支持jar与maven

**可生成的为 增删改查,删除多个,查询多个的方法 **

--->演示视频如下

<The rest of contents | 余下全文>

演示图片gif

jar包下载地址

该jar包需要依赖mysql--connector

点击下载jar包

点击下载mysql连接驱动

maven坐标

是在惭愧 博主在上传到maven中央厂库的过程中出现了一些事故,目前还在解决中 所以使用maven管理项目需要自动把点击下载项目包放入本地厂库中 maven默认的厂库位置为 C:\Users\Administrator.m2\repository 加油中

坐标为下

<dependency>
   <groupId>cn.sharehe.autoCode</groupId>
   <artifactId>autoCode</artifactId>
   <version>1.1.3.RELEASE</version>
</dependency>

也可克隆源码 自己加入本地厂库

开始使用

整个工具包的启动 需要StartRun startRun= new StartRun() 
所有的控制都是在该对象进行设置

设置工具包功能与执行线程池

所有的功能默认为--false

startRun.setOpen()  //进入工具包设置
.setScan(true)		//是否开启扫描 该扫描是扫描实体类包
.setMapper(true)	//是否开启生成mybatis xml文件 
.setDao(true)		//是否生成数据库操作接口
.setService(true)	//是否生成service的接口
.setServiceImp(true)//是否生成service的实现类  与是否生成接口没有关联
.setThreadPool(10)	//设置线程池大小  默认为10
.setPrimaryKeyUUID(true) // 是否设置主键为uuid 若开启 则插入操作会设置主键值为uuid
.setCreateTab(true);//是否创建数据库表  若需要实现该功能需要设置数据库属性与数据库连接池等

设置程序源代码绝对路径

startRun.setRootPath("");
该属性若不知如何设置 可先开始导入 在控制台会打印出如下语句
//  代码目录为->D:\IdeaYuanma1\vote/src/..
截取D:\IdeaYuanma1\vote设置即可

设置生成代码的对应位置


startRun.setPageName()		 // 进入包名的设置
		.setRootPackage("cn.wugui.automatic.")  //设置所有包的父包 没有为空 注意注意最后要有一个点
		.setBeans("beans")		// 设置实体类的包名 所有生成代码都根据该包下的实体类生成该属性值如果有.则表明只添加实体包下的一个类不支持子包  
		注意  
			如果只需要生产一个实体类的代码 这设置为beans.BeanName(实体类名)
		.setMapper("")// 该设置为mybatis xml的生成位置 如果为maven项目建议不设置该属性 注意是不设置,不是设置为空
		.setMiddleMapp("")	// maven建议不用设置,没使用maven建议设置为"src/"
		.setMiddle("")		//  maven建议不用设置,没使用maven建议设置为"src/"
		.setDao("dao")			// 设置dao接口的父包
		.setService("service")		// 设置service接口父包
		.setServiceImp("service.imp");	//设置service实现类父包

创建表操作

若开启了数据库表的创建则需要设置一下属性

startRun.setJdbcField()
		.setConcurrencyPool(5)   //设置数据库连接词
		.setUrl("jdbc:mysql://localhost:3306/test?characterEncoding=utf-8")  //url
		.setUser("user")		//用户名
		.setPassword("pass");		//密码

在系统中我们提供了以下几类非必须注解用在实体类上作用于sql语句

@TableName("")作用于类 表明实体类对应的表名 若不写表名默认为实体类名首字母小写
@NotNull 作用于属性 表明这个属性不可为空
@PrimaryKey 作用于属性 表明该属性为主键
@LengthAndNote(length=32,note="")  作用于属性 length数据类型长度,mote属性说明
@AutoIncrement 作用于int类型表明该属性自动递增
@Char  作用于属性 设置属性为char类型
@Unique 作用于属性 设置属性具有唯一性

设置java数据类型与mysql数据类型对象关系

startRun.setTypeJavaToSql("String","varchar") //前面为java数据类型后面为mysql数据类型
		.setTypeJavaToSql("","")
		
以下为默认对应关系

		TYPEMAP.put("String", "VARCHAR");
        TYPEMAP.put("byte", "BLOB");
        TYPEMAP.put("Long", "INTEGER");
        TYPEMAP.put("Integer", "int");
        TYPEMAP.put("Boolean", "BIT");
        TYPEMAP.put("Float", "FLOAT");
        TYPEMAP.put("Double", "DOUBLE");
        TYPEMAP.put("float", "FLOAT");
        TYPEMAP.put("double", "DOUBLE");
        TYPEMAP.put("int", "INT");
        TYPEMAP.put("boolean", "INT");
        TYPEMAP.put("long", "INT");

开启导入

start.run();

设置类名格式与方法格式 可不用设置

在设置格式中 存在{}符号 该符号表示生成的文件名将替换为实体类的类名

在下面的配置中的值为默认值 若相同则可以不用设置

startRun.setClassFormat(ClassNameConfigure.DAO,"{}Dao.java")// dao的类名格式
        .setClassFormat(ClassNameConfigure.SERVICE,"I{}Service.java")  //service接口的类名格式
        .setClassFormat(ClassNameConfigure.SERVICEIMP,"{}ServiceImp.java") //servoce实现的类格式
        .setClassFormat(ClassNameConfigure.MAPPER,"{}Mapper.xml");		//mybatis 文件名格式
        
        //注意文件后缀

设置方法名格式 可不用设置

该功能中 xml会根据方法中最后一个参数生成对应的parameterType

在方法格式中出现//字符表示未该方法写的注释 /这里写注释/

在下面的配置中的值为默认值 若相同则可以不用设置

startRun.setMethodFormat(MethodNameConfigure.SELECTALL,"/查询全部数据/ public List<{}> qry{}All({} data)") 
        .setMethodFormat(MethodNameConfigure.DELETE,"/删除数据/ public boolean del{}(String id)")
        .setMethodFormat(MethodNameConfigure.INSERT,"/添加数据/ public boolean add{}({} data)")
        .setMethodFormat(MethodNameConfigure.SELECTBYID,"/根据id查询一条数据/ public {} qry{}ById(String id)")
        .setMethodFormat(MethodNameConfigure.UPDATE,"/更新数据/ public boolean edit{}({} data)")
        .setMethodFormat(20,""); //可以设置自己的方法 但是导入到xml中的方法只有以上5个方法

About

该工具包主要完成在项目内根据提供的实体类包,自动生成spring mybatis,所需要的service层接口与实现,数据库表的创建包括主键,描述,长度等的设置,数据库操作接口与对应xml文件,支持jar与maven

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages