mybatis自动建表的实现方法
1.添加ACTable依赖
<!--mybatis-plus自动建表--> <dependency> <groupId>com.gitee.sunchenbin.mybatis.actable</groupId> <artifactId>mybatis-enhance-actable</artifactId> <version>1.1.1.RELEASE</version> </dependency>
2.配置(在此需要注意配置的路径部分需要改成自己项目路径)
<!--mybatis-plus自动建表--> <dependency> <groupId>com.gitee.sunchenbin.mybatis.actable</groupId> <artifactId>mybatis-enhance-actable</artifactId> <version>1.1.1.RELEASE</version> </dependency>
3.添加配置类
package com.jpxx.clsh.autoconfig;import com.alibaba.druid.pool.DruidDataSource;import org.mybatis.spring.SqlSessionFactoryBean;import org.springframework.beans.factory.annotation.Value;import org.springframework.beans.factory.config.PropertiesFactoryBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;/** * @ClassName TestConfig * @Description * @Author Administrator * @Date 2020/11/2 0002 11:30 * @Version 1.0 */@Configuration@ComponentScan(basePackages = {'com.gitee.sunchenbin.mybatis.actable.manager.*'})public class DataSourceConfig{ //此处的路径按照yml或properties文件路径 @Value('${jpxx.datasource.druid.driverClassName}') private String driver; @Value('${jpxx.datasource.druid.url}') private String url; @Value('${jpxx.datasource.druid.username}') private String username; @Value('${jpxx.datasource.druid.password}') private String password; @Bean public PropertiesFactoryBean configProperties() throws Exception{ PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean(); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); propertiesFactoryBean.setLocations(resolver.getResources('classpath*:application.yml')); return propertiesFactoryBean; } @Bean public DruidDataSource dataSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driver); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setMaxActive(30); dataSource.setInitialSize(10); dataSource.setValidationQuery('SELECT 1'); dataSource.setTestOnBorrow(true); return dataSource; } @Bean public DataSourceTransactionManager dataSourceTransactionManager() { DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager(); dataSourceTransactionManager.setDataSource(dataSource()); return dataSourceTransactionManager; } @Bean public SqlSessionFactoryBean sqlSessionFactory() throws Exception{ SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource()); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); sqlSessionFactoryBean.setMapperLocations(resolver.getResources('classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml')); sqlSessionFactoryBean.setTypeAliasesPackage('com.jpxx.clsh.entity.*'); return sqlSessionFactoryBean; }}
package com.jpxx.clsh.autoconfig;/** * @ClassName MyBatisMapperScannerConfig * @Description * @Author Administrator * @Date 2020/11/2 0002 10:15 * @Version 1.0 */import org.mybatis.spring.mapper.MapperScannerConfigurer;import org.springframework.boot.autoconfigure.AutoConfigureAfter;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configuration@AutoConfigureAfter(DataSourceConfig.class)public class MyBatisMapperScannerConfig { @Bean public MapperScannerConfigurer mapperScannerConfigurer() throws Exception{ MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer(); mapperScannerConfigurer.setBasePackage('com.jpxx.clsh.dao.*;com.gitee.sunchenbin.mybatis.actable.dao.*'); mapperScannerConfigurer.setSqlSessionFactoryBeanName('sqlSessionFactory'); return mapperScannerConfigurer; }}
4.实体类
package com.jpxx.clsh.entity;import com.gitee.sunchenbin.mybatis.actable.annotation.Column;import com.gitee.sunchenbin.mybatis.actable.annotation.Table;import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;import lombok.Data;/** * @ClassName Test * @Description * @Author Administrator * @Date 2020/10/30 0030 16:48 * @Version 1.0 */@Data@Table(name = 'aaaaaaaaaaaaaa')public class Test { @Column(name = 'role_id', type = MySqlTypeConstant.INT, isNull = false,isKey = true, isAutoIncrement = true, comment = '自增id') private Long id; @Column(name = 'name', type = MySqlTypeConstant.VARCHAR, isNull = false, length = 20, comment = '角色名字') private String name; @Column(name = 'name_zh', type = MySqlTypeConstant.VARCHAR, isNull = true, length = 20, comment = '角色的中文名字') private String name_zh;}
运行日志
到此这篇关于mybatis自动建表的实现方法的文章就介绍到这了,更多相关mybatis 自动建表内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章:
1. golang中连接mysql数据库2. Oracle中SPFILE文件特点及其具体操作3. SQL语句中的DDL类型的数据库定义语言操作4. Linux CentOS7安装Oracle11g的超完美新手教程5. SQLite教程(十二):锁和并发控制详解6. Mysql使用concat函数实现关键字模糊查询功能(列表数据过滤含前后端代码)7. mysql数据库中的索引类型和原理解读8. Access数据库提示OleDbException (0x80004005): 操作必须使用一个可更新的查询9. Exchange在接收连接器上启用匿名中继的方法10. Mysql和SQLServer驱动连接的实现步骤