mapper标签详解

博客仅提供了一个链接https://www.cnblogs.com/aichiboluo/p/8962529.html,未包含其他关键信息技术信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### MyBatis Mapper 映射文件详解 #### 作用 Mapper映射文件用于定义SQL语句以及这些语句如何与Java对象交互。它充当了数据库操作和业务逻辑之间的桥梁,使得开发者可以通过简单的XML配置或注解来执行复杂的CRUD(创建、读取、更新、删除)操作而无需编写大量的JDBC代码。 #### 配置 为了使MyBatis能够识别并加载特定的Mapper XML文件,在`SqlMapConfig.xml`中需加入相应的<mappers>标签,并通过<resource>属性指定路径[^1]: ```xml <mappers> <!-- 注册productMapper.xml文件 --> <mapper resource="mapper/productMapper.xml"/> </mappers> ``` 对于Mapper接口而言,有两种不同的注册方式: - 如果Mapper接口与其对应的XML文件位于同一目录,则可以直接在`SqlMapConfig.xml`里声明该接口; - 若两者不在相同位置,则只需确保XML文件已正确定义即可,不需要额外注册接口。 另外,还可以利用`typeAliases`简化命名空间下的实体类引用,提高可读性和维护效率[^4]: ```xml <typeAliases> <package name="com.example.model"/> </typeAliases> ``` 以上设置允许使用简短名称代替完整的类路径。 #### 使用方法 当完成上述配置之后,就可以开始编写具体的查询语句了。以selectAllMaps为例,这是一条返回所有记录作为列表形式的方法定义[^2]: ```java public interface ProductMapper { List<Map<String, Object>> selectAllMaps(); } ``` 对应于`ProductMapper.xml`内的实现如下所示: ```xml <select id="selectAllMaps" resultType="map"> SELECT * FROM products; </select> ``` 这里的关键在于`id`要匹配接口里的方法签名;同时注意`resultType="map"`表示每一条结果集会被转换成一个键值对集合。 除了基本的选择外,还支持其他类型的命令如插入(insert),更新(update) 和 删除(delete) : ```xml <!-- 插入新纪录 --> <insert id="addProduct" parameterType="Product"> INSERT INTO products (name, price) VALUES (#{productName}, #{price}); </insert> <!-- 更新现有数据 --> <update id="modifyPriceById" parameterType="int"> UPDATE products SET price=#{newPrice} WHERE id=#{productId}; </update> <!-- 移除指定ID的数据项 --> <delete id="removeByProductId" parameterType="long"> DELETE FROM products WHERE id=#{id}; </delete> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值