SpringBoot 结合MyBatis读取MySQL 数据

目录

SpringBoot 结合MyBatis读取MySQL 数据

一、确定需求:

二、新建项目的子模块

1.新建项目multiModules

2.新建模块mybatis

添加为Maven 项目

 三、MySQL 数据库配置、添加数据

  1.在Navicat中创建数据库

2.添加表

3.添加表的字段

4.添加数据

 四、编写代码

   1.新建包

2.新建XML 文件

3.配置数据库连接和MyBatis

4.添加必要的注解

5. 编译代码、构建程序

6. 执行SpringBoot 程序

7. 测试SpringBoot 后端接口

五、错误展示

1.YAML的格式问题


SpringBoot 结合MyBatis读取MySQL 数据

一、确定需求:

前端访问后端URL,显示后端从数据库读取的数据     输入:前端访问URL为http://localhost:8080/hello     输出:前端显示后端从数据库读取的数据

二、新建项目的子模块

1.新建项目multiModules

2.新建模块mybatis

添加为Maven 项目

3.新模块mybatis 添加为Maven 项目, 等待Maven 解析依赖完成

启动新模块项目验证是否正常。

最终由于DataSouce 未配置,预期结果应为启动失败

 三、MySQL 数据库配置、添加数据

  1.在Navicat中创建数据库

2.添加表

3.添加表的字段

4.添加数据

 四、编写代码

   1.新建包

新建controller、service、mapper、domain 包

新建mapper 资源目录 

2.新建XML 文件

新建controller、service、mapper、domain 对应的Java 文件     新建mapper 资源目录Java mapper 对应的XML 文件

3.配置数据库连接和MyBatis

4.添加必要的注解

5. 编译代码、构建程序

6. 执行SpringBoot 程序

7. 测试SpringBoot 后端接口

五、错误展示

1.YAML的格式问题

(注意格式,少走十年弯路,远离凌晨改bug,特别感谢网友小猫的深夜改bug,阿里嘎多)

2.SQL的数据类型和代码的定义的类型需要匹配

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,针对你的问题,我可以给出以下解决方案: 1. 首先,需要在新的数据库中建立与源数据库相同结构的表,可以使用 Navicat 等工具进行快速同步数据库结构。 2. 接着,需要在 SpringBoot 项目中配置两个数据源,一个是源数据库的数据源,另一个是目标数据库的数据源。可以使用 SpringBoot 自带的多数据源配置方式,或者使用第三方库,比如 Druid。 3. 然后,需要编写数据同步的逻辑,可以使用 MyBatis 读取数据库的数据,然后使用 MyBatis 写入到目标数据库中。具体实现可以参考以下代码: ```java @Service public class DataSyncService { @Autowired private DataSource sourceDataSource; @Autowired private DataSource targetDataSource; @Autowired private SqlSessionFactory sourceSqlSessionFactory; @Autowired private SqlSessionFactory targetSqlSessionFactory; public void syncData() { // 从源数据读取数据 SqlSession sourceSession = sourceSqlSessionFactory.openSession(); List<SourceData> sourceDataList = sourceSession.selectList("sourceMapper.selectData"); sourceSession.close(); // 写入目标数据库 SqlSession targetSession = targetSqlSessionFactory.openSession(); TargetMapper targetMapper = targetSession.getMapper(TargetMapper.class); for (SourceData sourceData : sourceDataList) { TargetData targetData = convertToTargetData(sourceData); targetMapper.insertData(targetData); } targetSession.commit(); targetSession.close(); } private TargetData convertToTargetData(SourceData sourceData) { // 实现数据转换逻辑 TargetData targetData = new TargetData(); targetData.setId(sourceData.getId()); targetData.setName(sourceData.getName()); // ... return targetData; } } ``` 需要注意的是,建议使用批量插入的方式,可以大大提高数据同步的效率。 4. 最后,可以使用定时任务等方式定时调用数据同步的逻辑,保证数据的实时同步。 以上就是一个简单的基于 SpringBootMyBatisMySQL 实现数据数据同步的方案,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值