首页 > 其他分享 >mybatis多层嵌套 xml记录一下

mybatis多层嵌套 xml记录一下

时间:2024-08-20 14:27:51浏览次数:13  
标签:xml name int public private id 嵌套 mybatis final

 

@Data
public final class World implements Serializable {
    private static final long serialVersionUID = 1L;
    private int id = 0;
    private name = null;
}

@Data
public final class Province implements Serializable {
    private static final long serialVersionUID = 1L;
    private int id = 0;
    private int countryId = 0;
    private name = null;
}

@Data
public final class City implements Serializable {
    private static final long serialVersionUID = 1L;
    private int id = 0;
    private int proId = 0;
    private name = null;
}
 <resultMap id="countryMap" type="com.main.entity.World">
       <id column="map_id"/>
       <result column="name"/>
       <collection property="provinceList" ofType="com.main.entity.Province" select="findProvince" column="{id=mapId}"/>
</resultMap>

<resultMap id="provinceList" type="com.main.entity.Province">
       <id column="pro_id"/>
       <result column="name"/>
       <collection property="cityList" ofType="com.main.entity.City" select="findCity" column="{id=proId}" />
</resultMap>

<resultMap id="cityList" type="com.main.entity.City">
       <id column="city_id"/>
       <result column="name"/>
</resultMap>

<select id = "findChina" resultType = "com.main.entity.World" parameterType = "com.main.entity.World" resultMap="countryMap">
       SELECT
              id, name
       FROM
              map.country
       WHERE
              id = #{mapId}
</select>
<select id = "findProvince" resultType = "com.main.entity.Province" parameterType = "com.main.entity.Province" resultMap="provinceList">
       SELECT
              pro_id AS proId, name
       FROM
              map.province
       WHERE
              country_id = #{id}
</select>

<select id = "findCity" resultType = "com.main.entity.City" parameterType = "com.main.entity.City" resultMap="cityList">
       SELECT
              city_id AS cityId, name
       FROM
              map.province
       WHERE
              pro_id = #{id}
</select>
@Mapper public interface findMapData{        World findChina(Integer id); //调用的是xml中的 <select id = "findChina" /> 这个方法 }

标签:xml,name,int,public,private,id,嵌套,mybatis,final
From: https://www.cnblogs.com/HePandeFeng/p/18369376

相关文章

  • 【第66课】Java安全&SPEL表达式&SSTI模版注入&XXE&JDBC&MyBatis注入
    免责声明本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。文中所涉......
  • Mybatis抓取策略
    一般分为两种:延时加载(懒加载),及时加载,并且只在进行分批查询时处理抓取策略的相关配置。什么是延时加载(懒加载)懒加载也叫延时加载,就是在使用的时候才进行加载。例如,我们在用Mybatis进行分批查询的时候,如果我们要查一个系,而一个系有成百上千个学生。当配置了懒加载后,在查询系时......
  • Mybatis的一些常用知识点(面试)
    什么是MyBatis?Mybatis是⼀个半ORM(对象关系映射)框架,它内部封装了JDBC。它让开发者在开发时只需要关注SQL语句本身,不需要花费精⼒去处理加载驱动、创建连接等繁杂的过程缺点:SQL语句的编写⼯作量较⼤SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库MyBat......
  • mybatis中#{}和${}的区别
    mybatis中#{}和${}的区别#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:orderby#user_id#,如果传入的值是111,那么解析成sql时的值为orderby“111”,如果传入的值是id,则解析成的sql为orderby“id”.$将传入的数据直接显示生成在sql中。如:order......
  • Mybatis-Plus中的@TableName 和 table-prefix
    简介本文介绍Mybatis-Plus中的@TableName和table-prefix的使用。介绍在MyBatis-Plus中,@TableName注解和table-prefix配置都可以用来指定表名,但它们的作用方式略有不同。table-prefix配置table-prefix是一个全局配置,它会自动在所有表名前添加指定的前缀,这个配置对于......
  • net core web api 支持xml参数 设置
    废话不多说,上教程。......
  • Mybatis学习日记-day7-动态sql
    一、学习目标        在之前的学习中,使用的都是静态sql,而动态SQL相比静态SQL具有多个显著的优点。    首先。,动态SQL允许根据程序运行时的条件和需求来动态地生成SQL语句。这意味着它可以根据不同的情境和需求生成不同的SQL语句,从而提供更高的灵活性和适应......
  • springboot项目中mybatis的dao接口实现类是如何添加到spring容器中的
    一、@Mapper注解在springboot+mybatis的工程中,如果不做特殊配置,mybatis会查找有@Mapper的接口创建其代理对象添加到spring容器中,接下来就来分析下这个是如何实现的。关键点就在MybatisAutoConfiguration这个自动配置类中publicclassMybatisAutoConfiguration{//这个配......
  • html xml 区别
    HTML(HyperTextMarkupLanguage)和XML(eXtensibleMarkupLanguage)都是标记语言,用于结构化文档。但是它们有一些重要的区别:HTML和XML的区别目的和用途:HTML:主要用于显示网页内容。它是设计用于显示信息,并且预定义了一些标签,用于表示网页中的各种元素(如段落、标题、......
  • MybatisPlus分页查询详解
    MybatisPlus分页查询详解一直对于分页查询的插件用的不是很熟练,这次在学习mp的时候又一次学到了分页查询,在这个过程中发现学到的东西挺多的,想着可以分享给大家,往下看前请保证对泛型以及函数式接口编程有一定了解1MybatisPlus的基础介绍这边主要是讲解他的一个分......