• mybatis_resultMap(3)


    学习最后一种封装方式 --association标签

    association标签

    老套路第1步
    /Mybatis02/src/com/chen/dao/GoodsDao2.java

    //association 标签来制定关联的 JavaBean的封装方式
    	public List<GoodsInfo> selectAll4();
    

    老套路第2步
    /Mybatis02/config/mappers/GoodsInfoMapper.xml

    <select id="selectAll4" resultMap="love">
      	select g.id id,g.name name ,n.goods_id goods_id , n.from   from goods g,nation n WHERE g.id = n.goods_id
      </select>
      
      <resultMap type="com.chen.GoodsInfo" id="love">
      	<!-- 下面这个id标签表示配置主键的封装格式 -->
      	<!-- 记住,下面column的属性一定写的是上面SQL查询语句的别名。别名。别名 -->
      	<id column="id" property="e_id" />
      	<result column="name" property="e_name" />
      	<!-- 下面的association标签中的property属性对应的你要配置的 实力类的对象名称
      	   (还记得在GoodsInfo类里声明了个private Nation nati吗)
      	     然后下面javaType对应的是对象nati它所指定的类名。(既Nation类)-->
      	<association property="nati" javaType="com.chen.Nation">
      		<!-- 现在开始指定里面数据的封装方式 
      		注:下面column的是查询语句的别名,properyt是Nation类里的字段名。刚好起的一样而已-->
      		<result column="goods_id" property="goods_id"/>
      		<result column="from" property="from"/>
      	</association>
      
      </resultMap>
      
    

    老套路第3步
    /Mybatis02/src/test/Start2.java

    
    public class Start2 {
    
    	public static void main(String[] args) throws IOException {
    		
    		String resource = "mybatis-conf.xml";
    		InputStream  inputStream = Resources.getResourceAsStream(resource);
    		//创建SqlSessionFactory
    		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    		//true表示自动提交。否则需要使用commit方法才会提交。默认是false
    		SqlSession session = sqlSessionFactory.openSession();
    		
    		//拿到接口的代理对象
    		GoodsDao2 dao=session.getMapper(GoodsDao2.class);
    		List<GoodsInfo> list = dao.selectAll4();
    		System.out.println(list);
    		
    		//如果上面不设置自动提交表单,那么就需要commit方法
    		session.commit();
    	}
    
    }
    
    

    点击运行

    [GoodsInfo [e_id=1, e_name=大米面膜, nati=Nation [goods_id=1, from=香港]], GoodsInfo [e_id=2, e_name=泰国纳兰足贴, nati=Nation [goods_id=2, from=日本]], GoodsInfo [e_id=3, e_name=Mellin菊花晶, nati=Nation [goods_id=3, from=泰>
    国]]]

    证明这个associion标签也能完成数据封装 。。。 成功

    感觉这个和上篇文章的内容那种数据封装 差不多一样。 感觉这个association标签好像还麻烦点。

    那么问题来了:这个association标签有哪些好处?

    答案是:association标签能够进行分布查询

    请听下回分解

  • 相关阅读:
    python--------------内置函数
    下载文件的一致性验证之MD5值校验
    MySQL最大连接数设置
    Jenkins构建次数设置
    Linux(CentOS7)安装zip、unzip命令
    如何在CentOS 7上安装Munin
    Intellij IDEA14 搜索框及控制台乱码解决
    IDEA测试结果查看
    IDEA运行TestNG报错rg.testng.TestNGException: org.xml.sax.SAXParseException;
    intellij idea 注释行如何自动缩进
  • 原文地址:https://www.cnblogs.com/czy16/p/7634439.html
Copyright © 2020-2023  润新知