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
配置日志-具体操作
- 修改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>
测试结果
😄总结
在测试结果时,需要查看程序底层发给MySQL的SQL 语句, 我们可以使用日志输出来实现,只需要向小编上方一样进行日志配置就可以,需要不同的类型也可以查看上方链接。
😁热门专栏推荐
MyBatis快速入门篇–
MyBatis(简化数据库操作的持久层框架)–快速入门[上]
文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞