springboot mybaties mysql ElasticSearch

1.idea创建springboot项目

1.创建项目

springboot mybaties mysql ElasticSearch_第1张图片

2.下一步

springboot mybaties mysql ElasticSearch_第2张图片

3.下一步

springboot mybaties mysql ElasticSearch_第3张图片

4.这样项目便创建完成

2.集成mybaties和mysql

1.pom文件依赖


    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    ${org.mybatis.spring.boot.version}



    mysql
    mysql-connector-java
    ${mysql.version}


    com.alibaba
    druid
    ${com.alibaba.version}


    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
       
            org.mybatis.generator
            mybatis-generator-maven-plugin
            
                true
                true
            
       
    

2.GeneratorConfig.xml配置文件设置





   
      
      
      
      
         
         
      
      
      
      
         
         
      

      
      
         
         
         
         
         
      

      
      
         
         
      

      
      
         
         
         
      
        
        

3.配置文件的配置application.properties

#数据库的配置
spring.datasource.url=jdbc:mysql://localhost:3306/demo?characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#Mybatis 配置
#包路径扫描
mybatis.type-aliases-package=com.learn.message.model
#主数据源用到的mappers文件
mybatis.mapper-location=classpath:mybatis/mappers/*.xml
#分页方言
pageHelper.dialect=oracle

4.数据源的配置

 /*
 * @ClassName: DruidDataSourceConfig
 * @Description: 数据源的配置
 * @author ss
 * @date 2019年07月05日 下午2:50:12
 */

@Configuration
@MapperScan(basePackages = "com.learn.message.dao", sqlSessionFactoryRef = "sqlSessionFactory")
public class DruidDataSourceConfig {
    @Value("${spring.datasource.type}")
    private Class dataSourceType;

    @Value("${mybatis.mapper-location}")
    private String mapperLocations;

    @Value("${mybatis.config-location}")
    private String configLocations;

    @Value("${mybatis.type-aliases-package}")
    private String typeAliasesPackage;

    @Value("${pageHelper.dialect}")
    private String pageHelperDialect;


    //数据源
    @Bean(name = "dataSource", destroyMethod = "close")
    @ConfigurationProperties(prefix = "spring.datasource.url")
    @Primary
    public DataSource dataSource() {
        return DataSourceBuilder.create().type(dataSourceType).build();
    }
    @Bean(name = "sqlSessionFactory")
    @Primary
    public SqlSessionFactory sqlSessionFactory() throws Exception {
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource());
        sqlSessionFactoryBean.setTypeAliasesPackage(typeAliasesPackage);
        //设置mapper.xml文件所在位置
        sqlSessionFactoryBean.setMapperLocations(resolver.getResources(mapperLocations));
        //设置mybatis-config.xml配置文件所在位置
        sqlSessionFactoryBean.setConfigLocation(resolver.getResource(configLocations));
        //添加分页插件、打印sql插件
        Interceptor[] plugins = new Interceptor[] {sqlInterceptor(),pageHelper()};
        sqlSessionFactoryBean.setPlugins(plugins);
        return sqlSessionFactoryBean.getObject();
    }

    @Bean(name = "transactionalManager")
    @Primary
    public PlatformTransactionManager transactionManager() throws SQLException {
        return new DataSourceTransactionManager(dataSource());
    }

    @Bean(name = "pageHelper")
    @Primary
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        p.setProperty("reasonable", "true");
        p.setProperty("returnPageInfo", "check");
        p.setProperty("params", "count=countSql");
        p.setProperty("dialect", pageHelperDialect);
        pageHelper.setProperties(p);
        return pageHelper;
    }
}

5.事物配置

在启动类上添加EnableTransactionManagement注解

springboot mybaties mysql ElasticSearch_第4张图片

注意

启动的时候可能会报java.lang.UnsupportedClassVersionError: org/springframework/boot/SpringApplication : Unsupported major.minor version 52.0错,这个时候,是因为我用的1.7的jdk,但是springboot创建的时候是1.8。将pom文件依赖包的版本号改为低的。

你可能感兴趣的:(java,框架,springboot,mybaties,mysql)