5.7 Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。-mybatis-generator将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件(类似代码生成器)
一. liquibase 使用说明
功能概述:通过xml文件规范化维护数据库表结构及初始化数据。
1.配置不同环境下的数据库信息
(1)创建不同环境的数据库。
(2)在resource/liquibase/config/ 文件夹下配置文件dev.properties, local.properties, 分别代表开发环境和本机环境的数据库信息。
2.确定liquibase作用于哪一个环境的数据库。
配置pom.xml文件中的property: db.profile 的值,比如 <db.profile>local</db.profile>代表采用local.properties 对应的数据库。
3.维护数据库表
(1)当前版本所有的库表维护脚本放在liquibase/change_log.rel-1文件夹下
(2)每个库表对应一个xml文件,具体语法参考liquibase官方文档。
(3)若是有新增xml文件,需要将该文件加入到liquibase/change_log.rel-1/script_suite.xml文件中,参考现有方案。
(4)新增/修改脚本后,执行visams-dao项目的install,
(5)执行脚本操作数据库:执行pom的liquibase插件中的update命令
备注:
dev环境不要采用旧的数据库yxq,请重新创建数据库并重新配置dev.properties,因为有修改库某些表的名称以及字段。
二.
mybatis-generator
插件使用说明
功能概述:将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件
1.配置从哪个数据库反向生成代码
resource/mybatis-config/generator.properties文件中配置数据库信息,该配置一般配置为开发环境或者是本地环境的数据库信息。
2.配置针对哪些库表反向生成代码
resource/mybatis-config/generatorConfig.xml文件中配置<table >节点,具体语法参考官方文档以及现有实例。
如:
<table tableName="biz_cmf_goods_specs" domainObjectName="business.CmfGoodsSpecs" mapperName="business.CmfGoodsSpecsMapper">
</table>
3.执行反向生成代码操作:
执行pom插件mybatis-generator的命令:mybatis-generator:generate
生成代码包括:实体类、mapper接口、mapper的xml文件
生成的这些文件请不要做任何改动因为每次执行都会覆盖这些自动生成的代码。若是需要额外信息请参考现有方案。
三.关于不允许256位密钥的AES加解密说明
功能概述:当密钥大于128,代码执行时,出现代码会抛出Illegal key size or default parameters or pad block corrupted 等错误。
1.原因:如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件.
文件位于${java_home}/jre/lib/security.
2.解决方式:
jdk8 和 java9 之后,$JAVA_HOME/jre/lib/security路径下 的 policy 的文件夹有相应的带限制的jar包 和 不带限制的jar包.
针对JDK1.8.0_151以上版本,请将jre/lib/security/java.security文件中的将#crypto.policy=unlimited 改为 crypto.policy=unlimited其他不变,也不需要其他权限jar
针对JDK1.8.0_151以下版本,请将jre/lib/security/ 下 的 local_policy.jar和US_export_policy.jar替换为官方网站提供了JCE无限制权限策略文件的下载
5.7 Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。-mybatis-generator将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件(类似代码生成器)的更多相关文章
- 精尽MyBatis源码分析 - MyBatis初始化(二)之加载Mapper接口与XML映射文件
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...
- mybatis 详解(六)------通过mapper接口加载映射文件
通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的.那么什么是通过 mapper 接口加载映射文件呢? 我们首先看以前的做法,在全局配置文件 mybatis-conf ...
- MyBatis 逆向工程——根据数据表自动生成model、xml映射文件、mapper接口
MyBatis Generator(MBG)的使用 MBG可以根据数据表生成对应的model.xml映射文件.mapper接口,只是简单的生成,还需要根据需求修改. 1.下载jar包 https:// ...
- 解决 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 以及MyBatis批量加载xml映射文件的方式
错误 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 的出现,意味着项目需要xml文件来 ...
- Mybatis学习--Mapper.xml映射文件
简介 Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 映射文件中有很多属性,常用的就是parameterType(输入类型 ...
- Mybatis中的Mapper.xml映射文件sql查询接收多个参数
我们都知道,在Mybatis中的Mapper.xml映射文件可以定制动态SQL,在dao层定义的接口中定义的参数传到xml文件中之后,在查询之前mybatis会对其进行动态解析,通常使用#{}接收 ...
- Mapper.xml映射文件
查询订单关联查询用户: 使用resultType,ordersCustom可以通过继承orders获得其属性,再添加我们需要的用户字段. 使用resultMap,orders表中通过封装user对象来 ...
- Ibatis学习总结4--SQL Map XML 映射文件扩展
SQL Map XML 映射文件除了上文提到的属性还有一些其他重要的属性,下文将详细介绍这些属性. 缓存 Mapped Statement 结果集 通过在查询 statement 中指定 cacheM ...
- MyBatis 的 XML 映射文件使用说明
简介 文档参考地址:http://www.mybatis.org/mybatis-3/zh/index.html MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器 ...
随机推荐
- Oracle中的rownum 和rowid的用法和区别
Oracle中的rownum 和rowid的用法和区别 1.rownum是伪列,是在获取查询结果集后再加上去的 (获取一条记录加一个rownum).对符合条件的结果添加一个从1开始的序列号. eg ...
- C 利用strtok, feof 截取字符串
#cat /tmp/fff 10:hugetlb:/hello/06b11c9967cc0e106f5f4673246f671aa7388f623f58b250d9d9cb0f8c0f2b18 9:d ...
- chrony配置介绍
rhel7 文档https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Adminis ...
- js的StringBuffer类
function StringBuffer(str){ var arr = []; str = str || ""; arr.push(str); this.append = fu ...
- 洛谷——P1183 多边形的面积
P1183 多边形的面积 多边形求面积公式: $\frac {\sum_{i=0}^{n-1}(x_iy_{i+1}-y_ix_{i+1})}{2}$ #include<bits/stdc++. ...
- B树、B+树
when ? why ? how ? what ? 平衡二叉树其查找的时间复杂度是 O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率. 如果我们要操作的数据集非常大,大到内存已经没法 ...
- 混合了RBAC和ACL的权限系统(一) -- 用户组织结构
最近的工作是一个基础设计,打造一个基于RBAC和ACL的权限基础组件. 这个基础组件的特点是:同时混合了RBAC和ACL的认证方式,也就是说同时提供系统级别的授权(RBAC)和对象级别的授权(ACL) ...
- 使用git bash向github远程仓库提交代码
1.登录github,创建仓库. 2.切换到要提交的文件目录下. 3.打开git bash 3.1.初始化仓库 git init 3.2.将本地仓库与远程仓库关联 git remote add ori ...
- VM 与主机不通的解决方法
[root@localhost network-scripts]# ping 192.168.1.222 PING 192.168.1.222 (192.168.1.222) 56(84) bytes ...
- MySql 格式化时间(包括正常时间格式与unix时间戳的互相转换)
函数:FROM_UNIXTIME 作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示.语法:FROM_UNIXTIME(unix_timestamp ...