SpringBoot 结合MyBatis读取MySQL 数据

1.问题引出:前端浏览器发起HTTP请求,后端服务器程序负责回应HTTP请求

试问:如何使得idea的Springboot实时读取MySQL上的数据?

2.引入关键技术Mybatis框架可以很好的解决这一问题

关于Mybatis的作用:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

3.Mybatis读取MySQL数据的原理:

①:我们都知道Springboot可以读取前端浏览器发过来的HTTP请求;SQL可以读取Mysq数据库数据;但是我们缺少一个媒介,使SQL读取的数据转换为Springboot程序能够使用的Java类的对象。

②:Mybatis很好的解决的这一难题。它可以读取MySQL数据库数据,将数据转为Java类对象,并供Springboot程序使用。

4.MyBatis 读取MySQL 数据简单示例

 ①:新建项目的子模块,并新建项目Mybatis;

 

②:Web层选择Spring Web;SQL层选Mybatis Framework以及MySQL Driver

③:新建Mybatis文件成功后为新模块Mybatis添加Maven项目

 

④:MySQL数据库新建一张名为user1的表,并为这张表设计字段,添加记录以便生成数据供Mybatis读取;

 

 ⑤:在子模块的目录下分别新建四个软件包:Mapper、Domain、Service、Controller

⑤:Service、Mapper、Domain、 Controller各层的作用以及在Springboot项目中的具体代码:

Service:存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。 (转自ljm_99 原文链接:https://blog.csdn.net/lijiaming_99/article/details/120584796)

Domain:实体层,用于存放我们的实体类,与数据库中的属性值基本保持一致,实现set和get的方法。(转自ljm_99 原文链接:https://blog.csdn.net/lijiaming_99/article/details/120584796)

 Controller层:控制层,负责具体模块的业务流程控制,需要调用service逻辑设计层的接口来控制业务流程。因为service中的方法是我们使用到的,controller通过接收前端H5或者App传过来的参数进行业务操作,再将处理结果返回到前端。(转自ljm_99 原文链接:https://blog.csdn.net/lijiaming_99/article/details/120584796)

Mapper层:对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与与xxx.xml内相互一一映射(转自ljm_99 原文链接:https://blog.csdn.net/lijiaming_99/article/details/120584796)

 ⑥:在resource资源目录下新建一个mapper包 在包内新建一个xml文件用来配置mapper;

⑦:在application.properties中配置 与数据库进行连接

 

⑧:在主程序中添加必要的注解

 ⑨:运行程序:

 程序运行成功,此时我们打开Postman输入:http://localhost:8080/users(users为自定义的请求码可以自己设置) 

 出现以上情况说明 没有Springboot使用mybatis成功与MySQL下的数据库完成了连接和数据的读取!

 

 

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值