# mybatis-enhance-actable-1.5.0.RELEASE
官方文档:[ACTable官方文档地址](https://www.yuque.com/sunchenbin/actable/nfz097)
开源项目不容易,如果觉得本项目对您的工作还是有帮助的话,请在帮忙点以下Star(页面右上角),谢谢
作者微信添加时请备注actable:![作者微信](https://images.gitee.com/uploads/images/2020/1123/184824_dcd6730d_688374.png "微信图片_20201123184809.png")
ACTable技术交流QQ群:[746531106](https://jq.qq.com/?_wv=1027&k=xE4i0dWl)
A.C.Table是对Mybatis做的增强功能,支持SpringBoot以及传统的SpringMvc项目结构,简单配置即可,该框架是为了能够使习惯了hibernate框架的开发者能够快速的入手Mybatis, “A.C.Table” 本意是自动建表的意思,A.C.Table是一个基于Spring和Mybatis的Maven项目,增强了Mybatis的功能,过配置model注解的方式来创建表,修改表结构,并且实现了共通的CUDR功能提升开发效率,同时能够兼容tk.mybatis和mybatis-plus,如需使用依赖相关的pom依赖即可,目前仅支持Mysql,后续会扩展针对其他数据库的支持。
[Javadoc文档:https://apidoc.gitee.com/sunchenbin/mybatis-enhance](https://apidoc.gitee.com/sunchenbin/mybatis-enhance)
A.C.Table是采用了Spring、Mybatis技术的Maven结构,详细介绍如下:
#### 基本使用规范
1.需要依赖mybatis-enhance-actable-1.5.0.RELEASE.jar
```
<dependency>
<groupId>com.gitee.sunchenbin.mybatis.actable</groupId>
<artifactId>mybatis-enhance-actable</artifactId>
<version>1.5.0.RELEASE</version>
</dependency>
<!-- 如需使用tk.mybatis同时需要依赖该jar包,之前1.3.1和1.3.0版本默认依赖了,但是有的小伙伴使用mybatis-plus会有冲突,所以这一版本默认不依赖,如需使用自行依赖即可 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
```
2.需要配置对于actable支持的配置
```
actable.table.auto=update
actable.model.pack=com.xxx.store.model(ps:要扫描的用于建表做依据的model目录)
actable.database.type=mysql
本系统提供四种模式:
2.1 当actable.table.auto=create时,系统启动后,会将所有的表删除掉,然后根据model中配置的结构重新建表,该操作会破坏原有数据。
2.2 当actable.table.auto=update时,系统会自动判断哪些表是新建的,哪些字段要修改类型等,哪些字段要删除,哪些字段要新增,该操作不会破坏原有数据。
2.3 当actable.table.auto=none时,系统不做任何处理。
2.4 当actable.table.auto=add,新增表/新增字段/新增索引/新增唯一约束的功能,不做做修改和删除 (只在版本1.0.9.RELEASE及以上支持)。
2.5 actable.model.pack这个配置是用来配置要扫描的用于创建表的对象的包名
2.6 actable.database.type这个是用来区别数据库的,预计会支持这四种数据库mysql/oracle/sqlserver/postgresql,但目前仅支持mysql
```
3. 支持actable的mybatis配置(必备的配置)
```
<!-- mybatis的配置文件中需要做两项配置,因为mybatis-enhance-actable项目底层是直接依赖mybatis的规范执行sql的,因此需要将其中的mapping和dao映射到一起 -->
1. classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml
2. com.gitee.sunchenbin.mybatis.actable.dao.*
```
4. 扫描actable的包到spring容器中管理(必备的配置)
```
1. com.gitee.sunchenbin.mybatis.actable.manager.*
```
#### Springboot+Mybatis的项目使用步骤方法
1. 首先pom文件依赖actable框架
```
<dependency>
<groupId>com.gitee.sunchenbin.mybatis.actable</groupId>
<artifactId>mybatis-enhance-actable</artifactId>
<version>1.5.0.RELEASE</version>
</dependency>
<!-- 如需使用tk.mybatis同时需要依赖该jar包,之前1.3.1和1.3.0版本默认依赖了,但是有的小伙伴使用mybatis-plus会有冲突,所以这一版本默认不依赖,如需使用自行依赖即可 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
```
2. 项目的application.properties文件配置例如下面
```
# actable的配置信息
actable.table.auto=update
actable.model.pack=com.xxx.store.model(ps:要扫描的model目录)
actable.database.type=mysql
# mybatis的配置信息,key也可能是:mybatis.mapper-locations
mybatis.mapperLocations=classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml;自己的mapper.xml没有可不填
```
3. springboot启动类需要做如下配置
```
1. 通过注解@ComponentScan配置,扫描actable要注册到spring的包路径"com.gitee.sunchenbin.mybatis.actable.manager.*"
2. 通过注解@MapperScan配置,扫描mybatis的mapper,路径为"com.gitee.sunchenbin.mybatis.actable.dao.*"
```
#### 传统Spring+Mybatis的Web项目使用步骤方法
1. 首先pom文件依赖actable框架
```
<dependency>
<groupId>com.gitee.sunchenbin.mybatis.actable</groupId>
<artifactId>mybatis-enhance-actable</artifactId>
<version>1.5.0.RELEASE</version>
</dependency>
<!-- 如需使用tk.mybatis同时需要依赖该jar包 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
```
2. 在你的web项目上创建个目录比如config下面创建个文件autoCreateTable.properties文件的内容如下:
```
actable.table.auto=update
actable.model.pack=com.xxx.store.model(ps:要扫描的model目录)
actable.database.type=mysql
```
3. spring的配置文件中需要做如下配置:
```
<!-- 自动扫描(自动注入mybatis-enhance-actable的Manager)必须要配置,否则扫描不到底层的mananger方法 -->
<context:component-scan base-package="com.gitee.sunchenbin.mybatis.actable.manager.*" />
<!-- 这是mybatis-enhance-actable的功能开关配置文件,其实就是将上面第2点说的autoCreateTable.properties文件注册到spring中,以便底层的mybatis-enhance-actable的方法能够获取到-->
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath*:config/autoCreateTable.properties</value>
</list>
</property>
</bean>
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
<property name="properties" ref="configProperties" />
</bean>
<!-- mybatis的配置文件中需要做两项配置,因为mybatis-enhance-actable项目底层是直接依赖mybatis的规范执行sql的,因此需要将其中的mapping和dao映射到一起 -->
1. classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml
2. com.gitee.sunchenbin.mybatis.actable.dao.*
举例这两个配置配置的详细位置
<!-- myBatis文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
<property name="mapperLocations">
<array>
<value>classpath*:自己的mappring.xml没有可不填</value>
<value>classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml</value>
</array>
</property>
<property name="typeAliasesPackage" value="自己的model.*没有可不填" />
<!-- <property name="configLocation" value="classpath:core/mybatis-
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
mybatis-enhance-master.zip (65个子文件)
mybatis-enhance-master
mybatis-enhance-actable
pom.xml 6KB
LICENSE 11KB
src
test
java
com
gitee
sunchenbin
model
MybatisPlusSimple.java 650B
ACTableSimple.java 631B
TKMybatisSimple.java 545B
TKMybatisAdvance.java 1KB
MybatisPlusAdvance.java 2KB
ACTableAdvance.java 1KB
main
java
com
gitee
sunchenbin
mybatis
actable
dao
system
CreateMysqlTablesMapper.java 3KB
common
BaseMysqlCRUDMapper.java 2KB
BaseCRUDMapper.java 2KB
manager
handler
StartUpHandler.java 233B
StartUpHandlerImpl.java 2KB
system
SysMysqlCreateTableManagerImpl.java 36KB
SysOracleCreateTableManager.java 226B
SysMysqlCreateTableManager.java 297B
SysOracleCreateTableManagerImpl.java 2KB
common
BaseCRUDManager.java 5KB
BaseCRUDManagerImpl.java 40KB
util
ConfigurationUtil.java 6KB
command
SysMysqlTable.java 5KB
MySqlTypeAndLength.java 1KB
BaseModel.java 1KB
PageResultCommand.java 901B
CreateTableParam.java 5KB
SaveOrUpdateDataCommand.java 651B
SysMysqlColumns.java 5KB
TableConfig.java 1008B
JavaToMysqlType.java 2KB
constants
Constants.java 2KB
MySqlTypeConstant.java 2KB
DateTimeFormatConstant.java 1KB
OracleTypeConstant.java 759B
MySqlCharsetConstant.java 586B
MySqlEngineConstant.java 253B
annotation
IsNotNull.java 561B
IgnoreTable.java 621B
IgnoreUpdate.java 696B
DefaultValue.java 950B
TableComment.java 521B
Column.java 3KB
IsAutoIncrement.java 579B
EnableTimeSuffix.java 650B
TableCharset.java 717B
IsKey.java 550B
Table.java 2KB
Unique.java 1KB
Index.java 1KB
impl
ColumnImpl.java 4KB
ColumnComment.java 524B
IsNativeDefValue.java 1KB
TableEngine.java 713B
ColumnType.java 1KB
mapping
system
CreateMysqlTablesMapper.xml 11KB
common
BaseCRUDMapper.xml 5KB
BaseMysqlCRUDMapper.xml 4KB
utils
ArrayUtils.java 720B
ClassScaner.java 5KB
ColumnUtils.java 16KB
FieldUtils.java 2KB
ClassTools.java 7KB
.gitignore 9B
README.md 43KB
LICENSE 11KB
.gitignore 303B
共 65 条
- 1
资源评论
m0_72731342
- 粉丝: 2
- 资源: 1832
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功