数据库相关
背景:
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的全路径