IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Mybatis的查询实现(使用HTTP CLIENT测试是否查询成功) -> 正文阅读

[Java知识库]Mybatis的查询实现(使用HTTP CLIENT测试是否查询成功)

现在我们要使用IDEA自带的HTTP CLIENT查询数据库中的User表,我们从controller层开始向下写(你可以尝试从Dao层看到Controller层,或者反着来)

Controller层 —— 将Service层实现好的操作提供给用户使用? (客户开始点菜)

Service层 —— Dao层操作的具体实现? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (大厨开始做菜)

Dao层 —— 以简洁明了的方式告诉你,我能执行哪些操作? ? (查询做这道菜的菜谱)

下面就先说明java文件夹需要有哪些操作,再说resources文件夹需要有哪些操作


目录

?一、java文件夹

1、新建实体类

2、Controller层的UserController.java

3、第二步:Service层的UserService.java

4、第三步:Dao层的UserMapper

5、在启动类添加@MapperScan

二、resources文件夹

1、pom.xml文件

2、编写配置文件application.properties (1)

3、接口映射文件.xml文件

4、编写配置文件application.properties (2)

三、使用HTTP CLIENT测试


?一、java文件夹

1、新建实体类

获取到数据库数据以后,我们创建一个类来存放数据库数据,类中的属性是和数据库的字段一一对应的,这个User类我们放在 entity目录下

?不要忘记写get方法(用于查数据库数据)和 set方法 (用于改数据库数据)

2、Controller层的UserController.java

第一步就是controller层新建一个UserController文件,Controller层接收到请求以后,就会找Servic层要数据,所以我们下面第二步就是新建一个Service层的文件

@RestController           //等价于@ResponseBody + @Controller
public class UserController {

    @Resource
    private UserService userService;   //Service层的类(第二步的内容,用于实现业务逻辑)

    @GetMapping("/user")
    public List<User> list(){
        return userService.list();
    }
}

3、第二步:Service层的UserService.java

下面就开始实现上面突然莫名的 UserService,这个时候Service层就会在Dao层寻找是否存在对应的操作

@Service        //告诉项目,这个类属于Service层
public class UserService {
    @Resource
    private UserMapper userMapper;    //这个属于第三步的内容,Dao层的接口函数(持久层,和数据库打交道)

    public List<User> list(){
        return userMapper.list();    
    }
}

4、第三步:Dao层的UserMapper

这是一个接口函数,只是列举出可以有哪些操作,具体实现在其他地方

public interface UserMapper{
    public List<User> list();
}

5、在启动类添加@MapperScan

为了让项目知道,java文件下有个Dao层的UserMapper接口,我们使用MapperScan,只不过接口函数我们统一放在mapper文件下

二、resources文件夹

1、pom.xml文件

下面就要正式开始使用Mybatis来连接数据库了,所以我们需要引入Mybatis的依赖,以及数据库连接依赖

<!-- Mybatis-->
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>2.1.3</version>
</dependency>

<!-- 数据库连接	-->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<scope>runtime</scope>
</dependency>

2、编写配置文件application.properties (1)

既然要连接数据库,那就需要让项目知道 你要连接数据库里的哪个表,数据库的主人是谁,密码是多少

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/库名?\
  useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&\
  autoReconnect=true&allowMultiQueries=true&rewriteBatchedStatements=true

spring.datasource.username=用户名

spring.datasource.password=密码

3、接口映射文件.xml文件

上面的接口UserMapper只是告诉你有哪些操作是可行的,至于操作的实现,并没有提及,所以我们需要在xml文件中对接口函数进行实现

我们新建一个mapper目录,在这个目录下新建一个UserMapper.xml文件夹,来对应上面的UserMapper接口

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--namespace = 包名 + 接口名(mapper文件下的接口)-->
<mapper namespace="com.example.demo.mapper.UserMapper">
    <!--id——接口类函数名-->
    <!--parameterType——接口类形参类型-->
    <!--resultType——接口类函数返回值-->
    <select id="list" resultType="com.example.demo.entity.User">
       select * from user
    </select>
</mapper>

4、编写配置文件application.properties (2)

和上面的java文件一样,那里是在启动类里告诉项目mapper文件是Dao层的,那resources文件也需要告诉项目哪个是Dao层的,这样的话,项目就可以把接口和xml文件建立起映射关系

mybatis.mapper-locations=classpath:mapper/**/*.xml

这个的意思是resources下的mapper文件夹,无论xml文件还是文件夹含xml文件,都会被扫描到

三、使用HTTP CLIENT测试

在项目的根目录下新建一个http文件夹,里面文件的后缀必须是 .http

项目的端口号这里设置的是9090,像下面这样输入就可以开始测试了(需要先启动springboot工程)

如果你的数据库里没有内容,那打印的就是一个 [ ],如果有内容,大致样式就像下面这样

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 10:36:15  更:2022-07-03 10:39:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:55:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码