MyBatis 快速入门【下】

简介: MyBatis 快速入门【下】

MyBatis 快速入门【下】


11. 修改MonsterMapper.java, 增加方法接口


根据id 删除一个对象

//根据id 删除一个Monster
public void delMonster(Integer id);


12. 修改MonsterMapper.xml, 实现方法接口


<!--配置/实现delMonster方法
    1. 这里 java.lang.Integer 这是Java类型, 可以简写成 Integer
    2. 这里写入delete
    -->
    <delete id="delMonster" parameterType="Integer">
        DELETE FROM `monster` WHERE id = #{id}
    </delete>


13. 完成测试,增加方法


修改NLC_MyBatis\mybatis_quickstart\src\test\java\com\nlc\mapper\MonsterMapperTest.java, 增加测试方法。

测试delMonster方法是否成功。

 @Test
    public void delMonster() {
        monsterMapper.delMonster(2);
        if(sqlSession != null) {
            sqlSession.commit();
            sqlSession.close();
        }
        System.out.println("删除成功...");
    }


14. 修改MonsterMapper.java, 增加方法接口


//修改Monster
public void updateMonster(Monster monster);
//查询-根据id
public Monster getMonsterById(Integer id);
//查询所有的Monster
public List<Monster> findAllMonster();


15.修改MonsterMapper.xml, 实现方法接口


1)为了配置方便,在mybatis-config.xml 配置Monster 的别名

<configuration>
<typeAliases>
    <!-- 为某个mapper 指定一个别名, 下面可以在XxxxxMapper.xml 做相应简化处理-->
    <typeAlias type="com.nlc.entity.Monster" alias="Monster"/>
</typeAliases>


2)修改MonsterMapper.xml, 实现方法接口, 可以使用Monster 别名了.

    <!--配置实现 updateMonster-->
    <update id="updateMonster" parameterType="Monster">
        UPDATE `monster`
        SET `age`=#{age} , `birthday`= #{birthday}, `email` = #{email},
        `gender` = #{gender} , `name`= #{name}, `salary` = #{salary}
        WHERE id = #{id}
    </update>
    <!--配置/实现getMonsterById-->
    <select id="getMonsterById" resultType="Monster">
        SELECT * FROM `monster` WHERE id = #{id}
    </select>
    <!--配置/实现findAllMonster-->
    <select id="findAllMonster" resultType="Monster">
        SELECT * FROM `monster`
    </select>


16. 完成测试, 修改MonsterMapperTest.java , 增加测试方法


 @Test
    public void updateMonster() {
        Monster monster = new Monster();
        monster.setAge(50);
        monster.setBirthday(new Date());
        monster.setEmail("king3@qq.com");
        monster.setGender(0);
        monster.setName("老鼠精-01");
        monster.setSalary(2000);
        monster.setId(3);
        monsterMapper.updateMonster(monster);
        if(sqlSession != null) {
            sqlSession.commit();
            sqlSession.close();
        }
        System.out.println("修改成功...");
    }
    @Test
    public void getMonsterById() {
        Monster monster = monsterMapper.getMonsterById(3);
        System.out.println("monster=" + monster);
        if(sqlSession != null) {
            sqlSession.close();
        }
        System.out.println("查询成功~");
    }
    @Test
    public void findAllMonster() {
        List<Monster> monsters = monsterMapper.findAllMonster();
        for (Monster monster : monsters) {
            System.out.println("monster-" + monster);
        }
        if(sqlSession != null) {
            sqlSession.close();
        }
        System.out.println("查询成功~");
    }


日志输出-查看SQL


看一个需求


在开发MyBatis 程序时,比如执行测试方法,程序员往往需要查看程序底层发给MySQL的SQL 语句, 到底长什么样, 怎么办?


解决方案: 日志输出


日志文档https://mybatis.org/mybatis-3/zh/logging.html

配置日志https://mybatis.org/mybatis-3/zh/configuration.html#settings


配置日志-具体操作


  1. 查看文档: https://mybatis.org/mybatis-3/zh/configuration.html#settings

797226cb81f04bcca5c7dd03d77041e1.png


  1. 修改NLC_MyBatis\mybatis_quickstart\src\main\resources\mybatis-config.xml, 加入日志输出配置, 方便分析SQL 语句
<!-- 配置MyBatis 自带的日志输出, 还可以是其它日志比如SLF4J | LOG4J | LOG4J2 | JDK_LOGGING 等-->
<settings>
  <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>


测试结果


778a737022fe492d91038ecbd948e1d5.png


😄总结


在测试结果时,需要查看程序底层发给MySQL的SQL 语句, 我们可以使用日志输出来实现,只需要向小编上方一样进行日志配置就可以,需要不同的类型也可以查看上方链接。

😁热门专栏推荐

MyBatis快速入门篇–

MyBatis(简化数据库操作的持久层框架)–快速入门[上]

MyBatis 快速入门【中】


文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁

希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻

如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7月前
|
SQL Java 数据库连接
MyBatis快速入门以及环境搭建和CRUD的实现
MyBatis快速入门以及环境搭建和CRUD的实现
30 0
|
7月前
|
SQL Java 关系型数据库
Mybatis知识【Mybatis快速入门】第二章
Mybatis知识【Mybatis快速入门】第二章
|
2天前
|
SQL Java 数据库连接
【MyBatis-Plus】快速精通Mybatis-plus框架—快速入门
【MyBatis-Plus】快速精通Mybatis-plus框架—快速入门
57 0
|
9月前
|
Java 关系型数据库 MySQL
MyBatis(简化数据库操作的持久层框架)--快速入门[上]
MyBatis(简化数据库操作的持久层框架)--快速入门[上]
66 0
|
10月前
|
Java 关系型数据库 MySQL
SpringBoot使用Mybatis 快速入门
SpringBoot使用Mybatis 快速入门
76 0
SpringBoot使用Mybatis 快速入门
|
2天前
|
XML 算法 Java
MyBatis-Plus 实战教程一 快速入门(二)
MyBatis-Plus 实战教程一 快速入门
51 0
|
2天前
|
Java 关系型数据库 数据库连接
MyBatis-Plus 实战教程一 快速入门(一)
MyBatis-Plus 实战教程一 快速入门
57 0
|
7月前
|
XML SQL 算法
【MyBatis-Plus】快速精通Mybatis-plus框架—快速入门(下)
3.常见注解 在刚刚的入门案例中,我们仅仅引入了依赖,继承了BaseMapper就能使用MybatisPlus,非常简单。但是问题来了: MybatisPlus如何知道我们要查询的是哪张表?表中有哪些字段呢?
76 0
|
7月前
|
SQL Java 数据库连接
【MyBatis-Plus】快速精通Mybatis-plus框架—快速入门(上)
大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。
54 0
|
8月前
|
SQL Java 数据库连接
Mybatis快速入门
Mybatis快速入门
29 0