工具包功能说明
该工具包主要完成在项目内根据提供的实体类包,自动生成spring mybatis,所需要的service层接口与实现,数据库表的创建包括主键,描述,长度等的设置,数据库操作接口与对应xml文件,支持jar与maven
可生成的为 增删改查,删除多个,查询多个的方法
—>演示视频如下

jar包下载地址
该jar包需要依赖mysql–connector
点击下载jar包
点击下载mysql连接驱动
maven坐标
是在惭愧 博主在上传到maven中央厂库的过程中出现了一些事故,目前还在解决中 所以使用maven管理项目需要自动把点击下载项目包放入本地厂库中 maven默认的厂库位置为 C:\Users\Administrator.m2\repository
坐标为下
1 2 3 4 5
| <dependency> <groupId>cn.sharehe.autoCode</groupId> <artifactId>autoCode</artifactId> <version>1.1.3.RELEASE</version> </dependency>
|
也可克隆源码 自己加入本地厂库
开始使用
1 2
| 整个工具包的启动 需要StartRun startRun= new StartRun() 所有的控制都是在该对象进行设置
|
设置工具包功能与执行线程池
所有的功能默认为–false
1 2 3 4 5 6 7 8 9
| 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);//是否创建数据库表 若需要实现该功能需要设置数据库属性与数据库连接池等
|
设置程序源代码绝对路径
1 2 3 4
| startRun.setRootPath(""); 该属性若不知如何设置 可先开始导入 在控制台会打印出如下语句 // 代码目录为->D:\IdeaYuanma1\vote/src/.. 截取D:\IdeaYuanma1\vote设置即可
|
设置生成代码的对应位置
1 2 3 4 5 6 7 8 9 10 11 12
| 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实现类父包
|
创建表操作
若开启了数据库表的创建则需要设置一下属性
1 2 3 4 5
| startRun.setJdbcField() .setConcurrencyPool(5) //设置数据库连接词 .setUrl("jdbc:mysql://localhost:3306/test?characterEncoding=utf-8") //url .setUser("user") //用户名 .setPassword("pass"); //密码
|
在系统中我们提供了以下几类非必须注解用在实体类上作用于sql语句
1 2 3 4 5 6 7
| @TableName("")作用于类 表明实体类对应的表名 若不写表名默认为实体类名首字母小写 @NotNull 作用于属性 表明这个属性不可为空 @PrimaryKey 作用于属性 表明该属性为主键 @LengthAndNote(length=32,note="") 作用于属性 length数据类型长度,mote属性说明 @AutoIncrement 作用于int类型表明该属性自动递增 @Char 作用于属性 设置属性为char类型 @Unique 作用于属性 设置属性具有唯一性
|
设置java数据类型与mysql数据类型对象关系
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 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");
|
开启导入
设置类名格式与方法格式 可不用设置
在设置格式中 存在{}符号 该符号表示生成的文件名将替换为实体类的类名
在下面的配置中的值为默认值 若相同则可以不用设置
1 2 3 4 5 6
| 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
在方法格式中出现//字符表示未该方法写的注释 /这里写注释/
在下面的配置中的值为默认值 若相同则可以不用设置
1 2 3 4 5 6
| 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个方法
|