java全栈day21--Web后端实战之利用Mybaits查询数据

一、需求:

查询数据库表中的所有部门数据,展示在页面上。

二、准备工作:

  1. 准备数据库表 dept (部门表),实体类 Dept 。
  1. 在项目中引入 mybatis 的起步依赖, mysql 的驱动包。
  1. 在项目的 application.properties 中引入 mybatis 的配置信息(数据库连接、日志输出)。

 代码实现:

  1. 定义 mapper 包,并且定义 DeptMapper 接口,并声明接口方法。
  1. 改造之前编写的 dao 、 service 的代码,在 service 实现中注入 mapper 接口。

运行结果

打开接口测试工具apifox

打开nginx进行前后端联调测试

补充:

数据封装

实体类属性名 和 数据库表查询返回的字段名一致, mybatis 会自动封装。

如果实体类属性名 和 数据库表查询返回的字段名不一致,不能自动封装。

(java里面定义类属性不带下划线,数据库里面带下划线)

方法一:

不能自动封装,进行手动结果映射:通过 @Results 及 @Result 进行手动结果映射。

方法二:

起别名:在 SQL 语句中,对不一样的列名起别名,别名和实体类属性名一样。

方式三:(工作当中使用)

开启驼峰命名:如果字段名与属性名符合驼峰命名规则, mybatis 会自动通过驼峰命名规则映射。

(这种方法要求数据库字段必须是下划线(create_time)分隔,属性必须采用驼峰(createTime))

小结

相关推荐
乌萨奇也要立志学C++2 分钟前
【C++详解】C++ 智能指针:使用场景、实现原理与内存泄漏防治
开发语言·c++
minji...9 分钟前
C++ 详细讲解vector类
开发语言·c++
LiuYaoheng12 分钟前
【Android】View 的基础知识
android·java·笔记·学习
勇往直前plus20 分钟前
Sentinel微服务保护
java·spring boot·微服务·sentinel
星辰大海的精灵21 分钟前
SpringBoot与Quartz整合,实现订单自动取消功能
java·后端·算法
小鸡脚来咯23 分钟前
一个Java的main方法在JVM中的执行流程
java·开发语言·jvm
江团1io024 分钟前
深入解析三色标记算法
java·开发语言·jvm
天天摸鱼的java工程师32 分钟前
RestTemplate 如何优化连接池?—— 八年 Java 开发的踩坑与优化指南
java·后端
m0_7381207235 分钟前
CTFshow系列——PHP特性Web97-100
开发语言·安全·web安全·php·ctfshow
你我约定有三37 分钟前
java--泛型
java·开发语言·windows