博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis自动创建表和更新表结构
阅读量:6155 次
发布时间:2019-06-21

本文共 1565 字,大约阅读时间需要 5 分钟。

hot3.png

    这篇文章主要介绍了Mybatis自动创建表和更新表结构的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

 

最近有小伙伴问我mybatis有没有自动创建表结构的功能,因为他们之前一直使用hibernate用习惯了,理所当然的认为,在实体类上配置下注解或者写写映射文件,系统启动后就可以自动创建表。

我只能很遗憾的告诉他,mybatis并没有这个功能,看他兴致阑珊的样子,我只能安慰他,就算没有这功能,我们可以自己开发啊~~

所以就有了下面这套系统,已开源大家可以下来看看~~

Mybatis_BuildTable_V0.2

该项目架构使用的是SpringMvc+Mybatis+Maven,功能特点是通过配置model注解的方式来创建表,修改表结构,目前仅支持Mysql,因为重点是突出mybatis自动创表的功能,所以在框架上没有话太多心思。

使用规范:

核心代码都在model-store-repo中

1.SysMysqlColumns.java这个对象里面配置的是mysql的数据类型,这里配置的类型越多,意味着创建表时能使用的类型越多

2.LengthCount.java是一个自定义的注解,用于标记在SysMysqlColumns.java里面配置的数据类型上的,标记该类型需要设置几个长度,如datetime/varchar(1)/decimal(5,2),分别是需要设置0个1个2个

3.Column.java也是一个自定义的注解,用于标记model中的字段上,作为创建表的依据如不标记,不会被扫描到,有几个属性用来设置字段名、字段类型、长度等属性的设置,详细请看代码上的注释

4.Table.java也是一个自定义的注解,用于标记在model对象上,有一个属性name,用于设置该model生成表后的表名,如不设置该注解,则该model不会被扫描到

ok,系统启动后会去自动调用SysMysqlCreateTableManagerImpl.java的createMysqlTable()方法,没错,这就是核心方法了,负责创建、删除、修改表。

model-store-frontend/resources/config/autoCreateTable.properties

你会发现有这样一个配置文件,其中有两项配置

1.mybatis.table.auto=update

2.mybatis.model.pack=com.sunchenbin.store.model

本系统提供两种模式:

1.当mybatis.table.auto=create时,系统启动后,会将所有的表删除掉,然后根据model中配置的结构重新建表,该操作会破坏原有数据。

2.当mybatis.table.auto=update时,系统会自动判断哪些表是新建的,哪些字段要修改类型等,哪些字段要删除,哪些字段要新增,该操作不会破坏原有数据。

3.mybatis.model.pack这个配置是用来配置要扫描的用于创建表的对象的包名

系统配置的是使用maven来启动的,web依赖repo,frontend和mobile依赖web,所以要运行frontend和mobile,必须先instal一下web和repo

至于如何用maven启动项目….不再多说了。

以上所述是小编给大家介绍的Mybatis自动创建表和更新表结构的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

 

另一个开源:http://luoyu-ds.iteye.com/blog/2024137

转载于:https://my.oschina.net/u/2246951/blog/777365

你可能感兴趣的文章
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>
HDU 5524:Subtrees
查看>>
手机端userAgent
查看>>
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
虚机不能启动的特例思考
查看>>
SQL Server编程系列(1):SMO介绍
查看>>
在VMware网络测试“专用VLAN”功能
查看>>
使用Formik轻松开发更高质量的React表单(三)<Formik />解析
查看>>
也问腾讯:你把用户放在什么位置?
查看>>
CSS Sprites 样式生成工具(bg2css)
查看>>