天天看点

mybatis支持驼峰自动转换sql吗_[OSSRH-39829] 自动更新表结构 ,适用mybatis或者mybatis通用tkmapper,需要mybatis为实体驼峰、表下划线自动转换配置 - ...

1、此项目用于基于spring mybatis自动根据实体类更新表结构,包括自动删除表、删除字段、修改字段,增加字段

2、也可以实现了对tkmapper的支持

使用方法

1、mybatis设置

{color:#14892c}{color}

2、SqlSessionFactory配置

xml方式

{color:#14892c}classpath*:mapper*.xml

注解方式

@Bean("sqlSessionFactoryBean")

public SqlSessionFactory sqlSessionFactoryBean(DataSource dataSource) throws Exception {

SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

sqlSessionFactoryBean.setDataSource(dataSource);

PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

sqlSessionFactoryBean.setConfigLocation(resolver.getResource("classpath:mybatis-setting.xml"));

{color:#14892c}Resource[] resources = resolver.getResources("classpath*:mapper/*Mapper.xml");

sqlSessionFactoryBean.setMapperLocations(resources);{color}

sqlSessionFactoryBean.setTypeHandlersPackage("com.xxx.xxx.*.model,{color:#14892c}com.github.gonglb.tools.autoupdatetable.model{color}");

return sqlSessionFactoryBean.getObject();

}

2、MapperScannerConfigurer配置

xml方式

mappers=tk.mybatis.mapper.common.Mapper,tk.mybatis.mapper.common.special.InsertListMapper

{color:#14892c}{color}

{color:#14892c}{color}

注解方式

@Bean

public MapperScannerConfigurer getMapperScannerConfigurer() throws Exception {

AutoTableTKMapperScannerConfigurer autoTableTKMapperScannerConfigurer = new AutoTableTKMapperScannerConfigurer();

autoTableTKMapperScannerConfigurer.setBasePackage("com.xxx.xxx.*.mapper");

autoTableTKMapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean");

Properties properties = new Properties();

properties.setProperty("mappers", "tk.mybatis.mapper.common.Mapper,tk.mybatis.mapper.common.special.InsertListMapper");

autoTableTKMapperScannerConfigurer.setProperties(properties);

{color:#14892c}autoTableTKMapperScannerConfigurer.setPacks("com.xxx.xxx.test.model");

autoTableTKMapperScannerConfigurer.setTableAuto("update");{color}

return autoTableTKMapperScannerConfigurer;

}

3、model配置方式

import org.apache.ibatis.type.JdbcType;

import com.github.gonglb.tools.autoupdatetable.common.ColumnType;

@Table(name = "t_test")

public classTest{

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name = "test_id",nullable = false,unique = false,length = 11,columnDefinition = "主键")

@ColumnType(jdbcType = JdbcType.INTEGER)

private Integer id;

@Column(name = "test_name",nullable = true,unique = false,length = 64,columnDefinition = "注释",table="默认值")

@ColumnType(jdbcType = JdbcType.VARCHAR)

private String name;

}

4、注意事项

a、该项目根据 mybatis-enhance-actable-0.0.1 开源项目的思路改编而来

b、该项目会自动删除更新表结构,根据实际情况使用