数据清洗遇到的坑

数据库相关

背景:

1)mybatis生成的xml文件,其中的主键id是自增的,xml文件insert的sql语句不包含id列。
2)业务场景:需要进行数据清洗,旧表与新表的数据都是一致的,包括主键id。由1)可知,即使给新的对象赋了值,也不会插入到新的数据表中。

解决方案:
新增sql语句,支持自增id的插入
优点:易扩展,易维护,低耦合
缺点:需要新增mapper和dao,并且修改数据库配置的application文件
数据层目录树如下:
数据清洗遇到的坑
step1:java目录下的manual的是新增的dao接口文件[dao是用mybatis自动生成的]
step2:resource目录下的manual是新增的xml文件[mapper是用mybatis自动生成的]
step3:修改application.xml文件

# Zebra属性配置
zebra:
  jdbcRef: 数据库的配置 # jdbcRef配置, 通过profile隔离
  poolType: druid
  minPoolSize: 5
  maxPoolSize: 30
  initialPoolSize: 5
  checkoutTimeout: 1000
  maxIdleTime: 1800
  idleConnectionTestPeriod: 60
  sqlSessionFactory:
    typeAliasesPackage: 实体对象的全路径
    mapperLocations: classpath:mapper/*.xml,classpath:manual/*.xml
    plugins:
      - className: com.github.pagehelper.PageInterceptor
        properties:
          helperDialect: mysql # 数据库方言配置,默认为mysql。当使用其他数据库时请对应修改,例如:PostgreSQL数据库配置为postgresql、DB2数据配置db2等。
  zebraMapperScannerConfigurer:
    basePackage: 自动生成的dao全路径,新增的dao的全路径
上一篇:Dao、Controller、Service三层的结构划分


下一篇:10.12JDBC之DAO实现类的优化