zoukankan      html  css  js  c++  java
  • sharding-jdbc-spring-boot-starter 整合 mybatis-plus-boot-starter + druid

    sharding-jdbc-spring-boot-starter 整合 mybatis-plus-boot-starter + druid

    sharding-jdbc整合 mybatis-plus + druid

    shardingsphere分库分表

     

    ================================

    ©Copyright 蕃薯耀 2020-10-21

    https://www.cnblogs.com/fanshuyao/

    一、环境:

    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.2.10.RELEASE</version>
      <relativePath/>
    </parent>
    <mybatisPlus.version>3.4.0</mybatisPlus.version>
    <shardingsphere.version>4.1.1</shardingsphere.version>
    <!-- 不能使用druid-spring-boot-starter,会导致:Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required -->
            <!-- 
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>1.2.1</version>
            </dependency>
             -->
            
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.2.1</version>
            </dependency>
            
            <dependency>
                <groupId>org.apache.shardingsphere</groupId>
                <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
                <version>${shardingsphere.version}</version>
            </dependency>
            
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
            
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.1.2</version>
            </dependency>
            
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-freemarker</artifactId>
            </dependency>
            
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>1.2.13</version>
            </dependency>
            
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatisPlus.version}</version>
            </dependency>
            
            <!--mybatis-plus 码生成器 添加 模板引擎依赖 这个需要增加模板引擎依赖,如freemarker-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-generator</artifactId>
                <version>${mybatisPlus.version}</version>
            </dependency>
            
            
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <scope>provided</scope>
            </dependency>

    数据源连接配置:

    #com.alibaba.druid.pool.DruidDataSource
    #DruidDataSource需要引入druid的Jar包,使用:url
    #com.zaxxer.hikari.HikariDataSource
    #HikariDataSource要使用:jdbc-url
    spring.shardingsphere.datasource.ss1.type=com.alibaba.druid.pool.DruidDataSource
    spring.shardingsphere.datasource.ss1.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.shardingsphere.datasource.ss1.url=jdbc:mysql://localhost:3306/ss1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&pinGlobalTxToPhysicalConnection=true&autoReconnect=true&nullNamePatternMatchesAll=true
    spring.shardingsphere.datasource.ss1.username=root
    spring.shardingsphere.datasource.ss1.password=root

    注意:

    不能使用:druid-spring-boot-starter,不然会导致下面的问题:java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required

    Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
        at org.springframework.util.Assert.notNull(Assert.java:201)
        at org.mybatis.spring.support.SqlSessionDaoSupport.checkDaoConfig(SqlSessionDaoSupport.java:122)
        at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:73)
        at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1853)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1790)
        ... 47 more

    (如果文章对您有帮助,欢迎捐赠,^_^)

    ================================

    ©Copyright 蕃薯耀 2020-10-21

    https://www.cnblogs.com/fanshuyao/

    今天越懒,明天要做的事越多。
  • 相关阅读:
    unicode 转换成中文
    iOS开发中UILocalNotification本地通知实现简单的提醒功能
    Xcode8出现AQDefaultDevice (173): skipping input stream 0 0 0x0
    UITextView回收或关闭键盘
    2016最新cocoapods安装流程,安装过程中遇到的问题及解决方法
    Android将应用调试log信息保存在SD卡
    Android 防止控件被重复点击
    android TextView多行文本(超过3行)使用ellipsize="end"属性无效问题的解决方法
    Android Touch事件传递机制 二:单纯的(伪生命周期) 这个清楚一点
    Android Touch事件传递机制 一: OnTouch,OnItemClick(监听器),dispatchTouchEvent(伪生命周期)
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/13850894.html
Copyright © 2011-2022 走看看