当前位置: 首页 > news >正文

国贸商城 网站建设站内推广策略

国贸商城 网站建设,站内推广策略,苏州行业网站建设费用,网站建设知名mysql改造oracle,以及springboot项目改造 oracle改造说明 这次的任务是springboot mysql版本改造为oracle版本,mysql5.7,oracle11.2,springboot2.0.2(springboot版本无所谓,都差不多,自己记录…

mysql改造oracle,以及springboot项目改造

oracle改造说明

  • 这次的任务是springboot mysql版本改造为oracle版本,mysql5.7,oracle11.2,springboot2.0.2(springboot版本无所谓,都差不多,自己记录经验)
  • mysql与oracle区别较大,需多mysql方便的函数或者功能,oracle都没有,可能是因为11.2这个版本确实很老了
  • mybatis的插件为tkmybatis,mybatis-plus同理
  • 因为用的tkmybatis,网上资料很少,只能硬啃

oracle库表处理

  • 改造第一步当然是把初步把mysql的数据转移到oracle中,网上找了一堆方法,最靠谱的果然还是navicat直接数据转移到oracle中(具体oracle部署安装以及允许外网连接账号用户数据库使用表空间这里不一一细说,属于基础,百度研究一下很快就能上手,这个很快也花了半天),把数据导过去后其实还缺失了很多东西,比如主键自增啊,表字段默认值啊,都是要一一处理的。而且oracle数据库是默认忽略大小写,全部使用大写,在navicat转移的过程中勾选转移大写选项,然后就等着转移完成就行。
  • 转移完毕后,给每个表增加触发器 当主键传上来为null时 按顺序递增填充id,因为有些表存在一些值所以有些不能从1开始,每个表都有自己的逻辑与触发器。
  • 自增结束后,还要去mysql一个个字段查看默认值,然后把oracle同样一个个加进去。
  • 还有两个自定义函数, ORACLE_TO_UNIX与substring_index,分别是UNIX_TIMESTAMP与substring_index
  • 这些全部加进去后,oracle库表改造就完成了。

springboot 对oracle的一些配置改造

  • 配置文件中修改
#orcl是服务名,具体在查oracle服务的名称
spring.datasource.url=jdbc:oracle:thin://127.0.0.1:1521/ORCL
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
#心跳查询,mysql没有form dual
spring.datasource.druid.validation-query=select 1 FROM DUAL
#handler存放的地方,非常关键
mybatis.type-handlers-package=com.deskmedia.core
#没有指定jdbctype时默认为null,非常关键
mybatis.configuration.jdbc-type-for-null=NULL
#tkmybatis的设置
mapper.identity=oracle
#查询触发器返回值,在插入前查询,非常关键
mapper.before=true
#pagehelper对oracle的配置
pagehelper.helperDialect=oracle
#指定mybatis主键自增为false,非常关键
mybatis.configuration.use-generated-keys=false
  • entity中修改
//配置返回主键自增id,每个都要加,因为每个的generator都不一样,有些主键也不一样,工作量比较大
@Id
@Column(name = "PKID")
@GeneratedValue(strategy = GenerationType.IDENTITY,generator = "select TAPCONFIG_PKID_SEQ.NEXTVAL from dual"
)
protected Long pkid;//oracle中没有boolean,所以需要处理器,先进行处理
@Column(name = "IsSuccessCompression")
@ColumnType(typeHandler= CustomBooleanTypeHandler.class)
private Boolean isSuccessCompression;//因为有些mysql字段为Integer,到了oracle变long,有些都要做转换处理
public void setAuditUserId(Integer auditUserId) {this.auditUserId = (auditUserId!=null?Long.valueOf(auditUserId.toString()):null);
}以上这些 基本上每个entity都得改造
  • handler处理器
mysql大字段比如text,longtext之类的,会转为clob,nclob,blob等Oracle对应的大字段,但是这些大字段不能直接被mybtais对应java使用,需要做转换与处理,因此使用处理器先行处理CustomBlobTypeHandler.class,CustomNclobTypeHandler.class,CustomBooleanTypeHandler.class
  • mapper.xml
先把idea中mapper.xml格式检测切换为oracle格式检测
limit 换 ROWNUM 但是ROWNUM 是跟在where后面的 所有如果存在orderby的话 直接改会造成结果不一致,需要子查询先改
mysql的groupby与Oracle的groupby不一样,同样需要子查询,
GROUP_CONCAT换成wm_concat,然后mysql日期处理改造oracle变date_format()转换为to_date(),一些转字符串的用to_char,
if换nvl2,ifnull换nvl,concat用法也与oracle不一样,比如like CONCAT(CONCAT('%',#{query.orgName}),'%'),别名不能使用单引号
  • 一些别的配置
idea很好用的插件,mybatis-log-free,会根据mybtais的日志自动填充具体参数,方便查问题
通用mapper改为oracleMapper
public interface BaseMapper<T> extends Mapper<T>, OracleMapper<T> 
http://www.laogonggong.com/news/83373.html

相关文章:

  • 网站到首页排名计算机网站的开发流程
  • 班玛网站建设浏览器如何做购物网站
  • 如何去除网站外链代理记账公司排名大全
  • 定西市建设局官方网站如何招聘软件网站开发人员
  • 河南省建设部省厅网站常德百姓网
  • 营销型企业网站制作wordpress vue 关系
  • php实现网站消息推送做竞价推广的网站要求
  • 专业做网站哪家强百度推广网站域名费
  • 淄博做网站建设公司个人电脑 wordpress
  • 济南建设网站企业收费iis wordpress 兼容
  • 网站推广app软件网站建设每月工作多少
  • 毕设做网站需要买域名么中山 五金 骏域网站建设专家
  • 青海网站建设系统做搜狗网站优化快速排
  • 西湖专业网站设计公司wordpress搭建博客视频
  • 特网站建设合肥微信小程序开发的公司
  • 一个网站要注意哪些问题汕头关键词优化平台
  • 网站推广网站制作网站建设公司做企业官网多少钱
  • 怎么做发卡网站西安定制网站建设公司哪家好
  • 昆山哪家做网站好丰润区建设局网站
  • 开公司如何做网站推广页面广告在线设计
  • 外贸网站建设560php网站开发实用技术下载
  • 手机网站快速排名 软件网站建设用什
  • 网站建设费用计入哪个会计科目微信app开发
  • 网站seo诊断报告win7如何安装iis来浏览asp网站
  • 昌吉做网站需要多少钱wordpress上传网站模板
  • 网站开发费会计分录深圳建设银行网上银行登录
  • 如何免费制作一个公司网站惠城营销网站制作
  • 亚马逊网站建设与维护方法分析内蒙古高等级公路建设开发有限责任公司网站
  • 网站首页动画效果网站制作电话
  • 大连seo网站推广镇江金山网镇江新闻