转载狂神说java-MyBatis第一个程序

本文详细介绍了使用MyBatis框架进行数据库操作的步骤,包括环境搭建、项目创建、jar包导入、核心配置文件编写、工具类创建、实体类定义、映射文件配置及测试类编写。针对配置文件未被找到的问题,提供了Maven配置解决方案。


思路流程:搭建环境–>导入Mybatis—>编写代码—>测试

1.创建数据库

在这里插入图片描述
在这里插入图片描述

2.新建项目

在这里插入图片描述

3.导入jar包

在这里插入图片描述
子项目也有父项目的jar包
在这里插入图片描述

4.编写mybatis核心配置文件mybatis-config.xml

连接上mysql
在这里插入图片描述
在这里插入图片描述
连接上,出现url
在这里插入图片描述
在这里插入图片描述

5.编写mybatis工具类MybatisUtils.java

把资源加载进来,并且创建能执行sql的对象
在这里插入图片描述

6.实体类User.java

在这里插入图片描述

7.配置文件UserMapper.xml

在这里插入图片描述
8.测试类UserDaoTest.java
找不到配置文件的解决方法,maven配置问题
在这里插入图片描述
方式一、二
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

### 关于 MyBatis 第29题的解答 #### 题目解析 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。对于第29题的具体内容虽然未直接提及,但从上下文中推测该题目可能涉及 MyBatis 中动态 SQL 的使用及其优化方法。 #### 动态SQL的理解 在实际开发过程中,经常会遇到复杂的查询条件组合情况,此时静态编写的 SQL 将难以满足需求变化的要求。为此,MyBatis 提供了一套强大的动态 SQL 支持机制来解决这一难题[^1]。 #### 实现方式 通过 `<if>`、`<choose>` (when/otherwise)、`<trim>`、`<where>` 和 `<set>` 等标签可以在 XML 映射文件内构建灵活多变的 SQL 片段。下面给出一段简单的例子用于展示如何利用这些标签实现基于不同参数输入而改变最终执行语句的效果: ```xml <select id="findActiveBlogWithTitleLike" parameterType="map" resultType="Blog"> SELECT * FROM BLOG WHERE state = 'ACTIVE' <if test="title != null"> AND title like #{title} </if> </select> ``` 此片段展示了当传入 `title` 参数不为空时会附加额外的过滤条件到基础查询上;反之则不会影响原有逻辑结构[^2]。 #### 测试案例明 为了验证上述功能是否正常工作,在单元测试环节可以通过构造不同的数据集来进行全面覆盖性的检验。例如给定如下 Java 方法定义: ```java @Test public void newUpdate() { SqlSession sqlSession = MybatisUtil.getSqlSession(); IUserDao userDao = sqlSession.getMapper(IUserDao.class); Map<String, Object> map = new HashMap<>(); map.put("whichId", 0); map.put("updateName","王小明"); map.put("updatePwd","mzby"); System.out.println("成功了吗?" + userDao.updateUserRecordNew(map)); sqlSession.commit(); sqlSession.close(); } ``` 这里的关键在于确保传递给 Mapper 接口的方法调用所使用的键名(`whichId`, `updateName`, `updatePwd`)要与配置文件中的占位符名称完全匹配,否则可能导致更新操作失败并返回错误提示信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值