# mx-springboot-mybatisplus-mult **Repository Path**: cyf2018/mx-springboot-mybatisplus-mult ## Basic Information - **Project Name**: mx-springboot-mybatisplus-mult - **Description**: mybatisPlus-springBoot 多数据源 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2018-11-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mx-springboot-mybatisplus-mult springBoot + mybatis plus 多数据源配置 # 已知功能 - 代码生成器 - 基本CRUD操作 # 启动流程 - 修改: /resources/application.properties 数据库配置 - 初始化: /readme/db1.sql & db2.sql - 启动: Start.java # 注意 ## 实体类配置 - 当IdType的类型为ID_WORKER、ID_WORKER_STR或者UUID时,主键由MyBatis Plus的IdWorker类生成 - AUTO 数据库ID自增 - INPUT 用户输入ID - ID_WORKER 全局唯一ID,Long类型的主键 - ID_WORKER_STR 字符串全局唯一ID - UUID 全局唯一ID,UUID类型的主键 - NONE 该类型为未设置主键类型 ## 遇到的坑 - 实体类配置 - 过程: 1. 实体类User 中 属性userId ,当查询的时候 mybatis-plus 会将属性名改成 user_id ,这样查询报错,因为表中的字段userId和 查询语句的 user_id 不一致导致查询失败。 失败的sql语句: SELECT user_id AS userId,user_name AS userName,user_age AS userAge,birthday,phone_num AS phoneNum,address,remark FROM user WHERE user_id=? - 解决方法 1. 将数据库改成 user_id, 实体类保持不变 userId (记得增加 @TableId(type = IdType.AUTO) 标明是主键,要么查询的时候是selectById() 方法根据主键来查询的) 2. 这样 mybatis-plus 查询语句会将实体类User的属性字段 userId 变成 user_id, 这样数据就查到了。 成功的sql语句: SELECT user_id AS userId,user_name AS userName,user_age AS userAge,birthday,phone_num AS phoneNum,address,remark FROM user WHERE user_id= ?