MyBatis 查询数据库之二(增、删、改、查操作)

这篇具有很好参考价值的文章主要介绍了MyBatis 查询数据库之二(增、删、改、查操作)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 配置打印 MyBatis 执行的SQL

2. 查询操作

2.1 通过用户 ID 查询用户信息、查询所有用户信息

(1) Mapper 接口

(2)UserMapper.xml 查询所有用户的具体实现 SQL

(3)进行单元测试

3. 增加操作

3.1 在 mapper(interface)里面添加增加方法的声明

3.2 在 XMl 中添加 标签和增加的 sql 代码

3.3 生成测试类

 4.修改操作

4.1 在 mapper(interface)里面添加修改方法的声明

4.2 在 XMl 中添加 标签和修改的 sql 代码

4.3 生成测试类

 5. 删除操作

5.1 在 mapper(interface)里面添加删除方法的声明

5.2 在 XMl 中添加 标签和删除的 sql 代码

5.3 生成测试类


1. 配置打印 MyBatis 执行的SQL

#mybatis 中 xml 保存路径
mybatis:
  mapper-locations:
    - classpath:mybatis/**Mapper.xml
  configuration: # 配置打印 MyBatis 执行的 SQL
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

# 配置打印 MyBatis 执行的 SQL
logging:
  level:
    com:
      example:
        demo: debug

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

可以看出MyBatis的底层就是JDBC,最终还是会生成JDBC的,只是MyBatis帮我们去执行了 

2. 查询操作

2.1 通过用户 ID 查询用户信息、查询所有用户信息

(1) Mapper 接口

@Mapper// 和五大类注解是一样的
public interface UserMapper {
    /**
     * 根据用户 id 查询用户信息
     * @param id
     * @return
     */
    Userinfo getUserById(@Param("id") Integer id);

    /**
     * 查询全部
     * @return
     */
    List<Userinfo> getAllUser();
}

(2)UserMapper.xml 查询所有用户的具体实现 SQL

<?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">
<mapper namespace="com.example.ssmdemo1.mapper.UserMapper">
    <select id="getUserById" resultType="com.example.ssmdemo1.entity.Userinfo">
        select * from userinfo where id=#{id}
    </select>
    <select id="getAll" resultType="com.example.ssmdemo1.entity.Userinfo">
        select * from userinfo
    </select>
</mapper>

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

(3)进行单元测试

 MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

单元测试知识点击此处

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

添加单元测试业务逻辑 

@SpringBootTest// 1.表明当前单元测试是运行在Spring Boot环境中的
@Transactional // 开启一个事务,执行完恢复数据
class UserMapperTest {

    @Autowired// 2.注入测试对象:属性注入
    private UserMapper userMapper;

    @Test
//    @Transactional
    void getUserById() {
        // 3.添加单元测试的业务代码
        Userinfo userinfo = userMapper.getUserById(1);
        System.out.println(userinfo);
        Assertions.assertEquals("admin",userinfo.getUsername());
    }



    @Test
    void getAllUser() {
        List<Userinfo> list = userMapper.getAllUser();
        Assertions.assertEquals(1,list.size());
    }
}

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

3. 增加操作

3.1 在 mapper(interface)里面添加增加方法的声明

/**
     * 添加操作
     * @return
     */
    int add(Userinfo userinfo);

3.2 在 XMl 中添加 标签和增加的 sql 代码

在这里我们传的是个对象,该怎么写呢?

是不是需要对象打点呢,不需要,直接去写对象的具体的属性就行了

<!--    只能得到受影响的行数-->
    <insert id="add">
        insert into userinfo (username,password,createtime,updatetime)
        values(#{username},#{password},#{createtime},#{updatetime})
    </insert>

注意:insert 操作只能得到受影响的行数,所以不需要添加resultType

3.3 生成测试类

@SpringBootTest// 1.表明当前单元测试是运行在Spring Boot环境中的
@Transactional // 开启一个事务,执行完恢复数据
class UserMapperTest {

    @Autowired// 2.注入测试对象:属性注入
    private UserMapper userMapper;

    @Test
    void add() {
        // 伪代码,构建对象并设置相应的值
        Userinfo userinfo = new Userinfo();
        userinfo.setUsername("李四");
        userinfo.setPassword("123456");
        userinfo.setCreatetime(LocalDateTime.now());
        userinfo.setUpdatetime(LocalDateTime.now());
        // 调用MyBatis 添加方法执行添加操作
        int resule = userMapper.add(userinfo);

        int uid = userinfo.getId();
        System.out.println("user2的ID = " + uid);

        Assertions.assertEquals(1,resule);
    }

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

在这里我抱着试一试的想法去看能不能得到用户的id

可以看见用这个方法是拿不到的

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

 4.修改操作

4.1 在 mapper(interface)里面添加修改方法的声明

@Mapper
public interface UserMapper {

   /**
     * 修改用户
     */
    int updateUserName(Userinfo userinfo);
}

4.2 在 XMl 中添加 标签和修改的 sql 代码

<!--    默认返回受影响的行数-->
    <update id="updateUserName">
        update userinfo set username=#{username} where id=#{id}
    </update>

4.3 生成测试类

 @Test
    void updateUserName() {
        // 伪代码,构建测试数据
        Userinfo userinfo = new Userinfo();
        userinfo.setId(5);// 修改id为5的用户
        userinfo.setUsername("老五");
        int result = userMapper.updateUserName(userinfo);

        System.out.println("修改:" + result);
        Assertions.assertEquals(1,result);
    }

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

 5. 删除操作

5.1 在 mapper(interface)里面添加删除方法的声明

@Mapper// 和五大类注解是一样的
public interface UserMapper {

    /**
     * 删除对象
     */
    int delByName(@Param("id") Integer id);
}

5.2 在 XMl 中添加 标签和删除的 sql 代码

<!--    默认返回受影响的行数-->
    <delete id="delByName">
        delete from userinfo where id = ${id}
    </delete>

5.3 生成测试类

 @Test
    void delByName() {
        Integer id = 5;
        int resule = userMapper.delByName(id);
        System.out.println("删除:" + resule);
        Assertions.assertEquals(1,resule);
    }

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端

MyBatis 查询数据库之二(增、删、改、查操作),mybatis,java,数据库,spring,spring boot,后端文章来源地址https://www.toymoban.com/news/detail-627505.html

到了这里,关于MyBatis 查询数据库之二(增、删、改、查操作)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MyBatis查询数据库(2)

    目录 前言🍭 一、增删查改操作🍭 1、查🍉 Ⅰ、mapper接口:🍓 Ⅱ、UserMapper.xml 查询所有用户的具体实现 SQL:🍓 Ⅲ、进行单元测试🍓 2、增、删、改操作🍉 Ⅰ、增🍓 添加用户🍒 添加用户并且返回自增 id🍒 Ⅱ、改🍓 根据id修改用户名🍒 开启 MyBatis sql 日志打印🍒 Ⅲ、

    2024年02月16日
    浏览(45)
  • MyBatis查询数据库(3)

    ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客 前面我们讲解了MyBatis增删改查基本操作,下面我们来深入了解MyBatis其中不同和需要注意的地方。 下面我们来实现⼀下根据用户 id 查询用户

    2024年02月14日
    浏览(52)
  • 【Java】Mybatis查询数据库

    经过前面的学习Spring系列的操作已经差不多了,接下来我们继续学习更加重要的知识,将前端传递的参数存储起来,或者查询数据库里面的数据 MyBatis是款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis几乎祛除了所有的JDBC代码以及设置参数和获取结果集

    2024年01月18日
    浏览(60)
  • MyBatis 查询数据库、持久层框架简介

    MyBatis是一款优秀的持久层框架,支持自定义SQL、存储过程以及高级映射。它通过简单的XML或注解来配置和映射原始类型、接口和Java POJO为数据库中的记录。

    2024年02月12日
    浏览(59)
  • 认识 MyBatis + MyBatis如何使用 (MyBatis操作数据库)

    本篇介绍了什么是MyBatis,MyBatis的前期配置,MyBatis操作数据库的两种方式:.xml文件 / 注释,使用MyBatis的一些注意,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 MyBatis(ORM: 对象关系映射框架): 一个持久层框架,也是一个工具实现程序与数据库交互,

    2024年02月14日
    浏览(59)
  • MyBatis查询数据库之一(概念+创建项目+基础交互)

    目录 1.MyBatis是什么? 2.为什么学习MyBatis? 3. 怎么学 MyBatis 4.第⼀个MyBatis查询 4.1 添加MyBatis框架支持 4.1.1老项目添加MyBatis 4.1.2 新项目添加MyBatis 4.2 配置连接字符串和MyBatis 4.2.1 配置连接字符串 4.2.2 配置 MyBatis 中的 XML 路径 5. 使用 MyBatis 的操作模式操作数据库 5.1 添加实体类

    2024年02月13日
    浏览(52)
  • MyBatis操作数据库

    MyBatis 是⼀款优秀的 持久层框架 ,它⽀持⾃定义 SQL、存储过程以及⾼级映射。MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接⼝和 Java POJO(Plain Old Java Objects,普通⽼式 Java 对象)为数据库中的

    2024年02月16日
    浏览(52)
  • Java EE 突击 13 - MyBatis 查询数据库(2)

    这个专栏给大家介绍一下 Java 家族的核心产品 - SSM 框架 JavaEE 进阶专栏 Java 语言能走到现在 , 仍然屹立不衰的原因 , 有一部分就是因为 SSM 框架的存在 接下来 , 博主会带大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相关知识点 并且带领大家进行环境的配置 , 让大家真正用好

    2024年02月11日
    浏览(51)
  • MyBatis操作数据库实现

    说明:MyBatis是作用于三层架构开发,数据访问层(Data Access Object)的框架,用于访问数据库,对数据进行操作。 首先,创建一个SpringBoot模块,然后把MyBatis的环境搭建起来。因为MyBatis是作用于Dao层的,故先省去Service层,重点关注Dao层中与数据库的交流。 (1)创建Springboot模

    2024年02月08日
    浏览(54)
  • 超细详解MyBatis操作数据库(1)

    MyBatis 是⼀款优秀的持久层框架,它⽀持⾃定义 SQL、存储过程以及⾼级映射。 MyBatis 去除了几乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接⼝和 Java POJO(Plain Old Java Objects,普通⽼式 Java 对象)为数据库中的

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包