• 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层的文件

    1. @RestController //等价于@ResponseBody + @Controller
    2. public class UserController {
    3. @Resource
    4. private UserService userService; //Service层的类(第二步的内容,用于实现业务逻辑)
    5. @GetMapping("/user")
    6. public List<User> list(){
    7. return userService.list();
    8. }
    9. }

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

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

    1. @Service //告诉项目,这个类属于Service层
    2. public class UserService {
    3. @Resource
    4. private UserMapper userMapper; //这个属于第三步的内容,Dao层的接口函数(持久层,和数据库打交道)
    5. public List<User> list(){
    6. return userMapper.list();
    7. }
    8. }

    4、第三步:Dao层的UserMapper

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

    1. public interface UserMapper{
    2. public List<User> list();
    3. }

    5、在启动类添加@MapperScan

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

    二、resources文件夹

    1、pom.xml文件

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

    1. <!-- Mybatis-->
    2. <dependency>
    3. <groupId>org.mybatis.spring.boot</groupId>
    4. <artifactId>mybatis-spring-boot-starter</artifactId>
    5. <version>2.1.3</version>
    6. </dependency>
    7. <!-- 数据库连接 -->
    8. <dependency>
    9. <groupId>mysql</groupId>
    10. <artifactId>mysql-connector-java</artifactId>
    11. <scope>runtime</scope>
    12. </dependency>

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

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

    1. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    2. spring.datasource.url=jdbc:mysql://localhost:3306/库名?\
    3. useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&\
    4. autoReconnect=true&allowMultiQueries=true&rewriteBatchedStatements=true
    5. spring.datasource.username=用户名
    6. spring.datasource.password=密码

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

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

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

    1. <?xml version="1.0" encoding="UTF-8" ?>
    2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    3. <!--namespace = 包名 + 接口名(mapper文件下的接口)-->
    4. <mapper namespace="com.example.demo.mapper.UserMapper">
    5. <!--id——接口类函数名-->
    6. <!--parameterType——接口类形参类型-->
    7. <!--resultType——接口类函数返回值-->
    8. <select id="list" resultType="com.example.demo.entity.User">
    9. select * from user
    10. </select>
    11. </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工程)

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

  • 相关阅读:
    HarBor私有镜像仓库
    PLC单按钮启停算法汇总
    ESP32 Arduino实战基础篇-使用中断和定时器
    unity模型制作(终章)
    十四天学会C++之第六天:异常处理
    Python爬虫实战案例——第六例
    阿里云突然玩起了性价比,网友:嘎嘎香!
    [附源码]Python计算机毕业设计Django贵港高铁站志愿者服务平台
    【OAuth2】三、OAuth2配置解读
    STC16f40k128——PWM
  • 原文地址:https://blog.csdn.net/challenglistic/article/details/125555212