java mapper 的 xml讲解

xml 复制代码
<?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.bnc.s12.mapper.GoodaCateDTOMapper">
    <!--<resultMap id="GoodaCateDTOMapper" type="com.bnc.s12.model.GoodaCateDTO">
        <id property="id" column="id"></id>
        <result property="goods" column="goods"></result>
        <result property="category_id" column="category_id"></result>
        <result property="category_name" column="category_name"></result>
    </resultMap>-->

    <select id="getGoodsList" resultType="com.bnc.s12.model.GoodaCateDTO" >
        SELECT * from my_goods as g LEFT JOIN my_category as c on g.category_id = c.category_id
    </select>
</mapper>

select 标签里面,映射的它是以 resultType 或者是 resultMap 属性。但这两个属性最好不要同时使用。因为如果同时使用,优先走的 resultMap 属性。也就是说,如果两个同时定义了,那么其实他走的也是 resultMap 属性。

resultMap属性的值 指向的是 resultMap 标签 id的值,或者说,在 select 标签中 resultMap 的值需要跟 resultMap 标签中 id 的值一样。

而 select 标签的 id 对应的就是 service 类中的 方法名

resultType 属性定义的,它指向的是 实体类。或者,我们说是数据库的字段。大概的代码如下

java 复制代码
package com.bnc.s12.model;

import lombok.Data;

@Data
public class GoodaCateDTO {
    private int id;
    private String goods;
    private String category_id;
    private String category_name;
    //这儿还可以定义数据表中没有的字段
}
相关推荐
AC赳赳老秦4 分钟前
DeepSeek-Coder vs Copilot:嵌入式开发场景适配性对比实战
java·前端·后端·struts·mongodb·copilot·deepseek
Oxye12 分钟前
服务器内存不足导致程序没完全起起来,报错Required type must not be null
java·开发语言
2501_9167665414 分钟前
【Java】static关键字与类的加载顺序
java·开发语言
9号达人17 分钟前
支付配置时好时坏?异步方法里的对象引用坑
java·后端·面试
资生算法程序员_畅想家_剑魔27 分钟前
Java常见技术分享-14-多线程安全-锁机制-常见的锁以及底层实现-synchronized
java·开发语言
JoStudio35 分钟前
白帽系列01: 抓包
java·网络安全
sanggou42 分钟前
基于Java实现的简易规则引擎(日常开发难点记录)
android·java
先做个垃圾出来………42 分钟前
Python测试桩工具
java·开发语言·python
小芳矶42 分钟前
【langchain框架——检索链】利用检索链创建自己的购物知识库并完成智能体的商品推荐
java·python·langchain
爱吃山竹的大肚肚1 小时前
优化SQL:如何使用 EXPLAIN
java·数据库·spring boot·sql·spring