首页 > 其他分享 >ibatis学习之一对多关联

ibatis学习之一对多关联

时间:2023-04-30 20:06:07浏览次数:25  
标签:学习 clazzid int void public ibatis import 关联 id


基于本人的这篇文章http://chenzheng8975.iteye.com/blog/1718765的基础上,对ibatis进行深入的学习:

Clazz.java:

package com.cz.model;

import java.util.ArrayList;
import java.util.List;

public class Clazz {
	private int id;
	private String classname;
	private List<Student> student=new ArrayList<Student>();
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getClassname() {
		return classname;
	}
	public void setClassname(String classname) {
		this.classname = classname;
	}
	public List<Student> getStudent() {
		return student;
	}
	public void setStudent(List<Student> student) {
		this.student = student;
	}
		
}

 

Student.java:

package com.cz.model;

public class Student {

	private int id;
	private String studentname;
	private int age;
	private int clazzid;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getStudentname() {
		return studentname;
	}
	public void setStudentname(String studentname) {
		this.studentname = studentname;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getClazzid() {
		return clazzid;
	}
	public void setClazzid(int clazzid) {
		this.clazzid = clazzid;
	}
	
}

 

Clazz.xml:



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL MAP 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
	<typeAlias alias="Clazz"    type="com.cz.model.Clazz"/>
	<typeAlias alias="Student" type="com.cz.model.Student"/>
	<resultMap class="Clazz" id="get-clazz-result">
		<result property="id" column="id"/>
		<result property="classname" column="classname"/>
		<result property="student" column="id" select="getStudentByClazzId"/>
	</resultMap>
	<select id="getClazz" parameterClass="int" resultMap="get-clazz-result">
		<![CDATA[
			select id,classname
			from clazz
			where id=#id#
		]]>
	</select>
	<select id="getStudentByClazzId" parameterClass="int" resultClass="Student">
		select clazzid,studentname,age
		from student
		where clazzid=#clazzid#
	</select>
</sqlMap>



 

Mytest.java:

package com.cz.test;

import java.io.Reader;
import java.util.List;

import com.cz.model.Clazz;
import com.cz.model.Student;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class MyTest {

	/**
	 * @author xxx
	 * @since Jan 9, 2013
	 * @Description: TODO(用一句话描述这个方法的作用)
	 * @throws
	 * @param args
	 * void
	 */

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");   
	        SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);   
	        // sqlMap系统初始化完毕   
	        Clazz clazz=(Clazz) sqlMap.queryForObject("getClazz", new Integer(1));   
	        System.out.println("clazzid:"+clazz.getId()+",classname:"  
	                            +clazz.getClassname());   
	        List<Student> student=clazz.getStudent();   
	        for(int i=0;i<student.size();i++){   
	            System.out.println(student.get(i).getStudentname()+"-->"  
	                            +student.get(i).getAge());   
	        }   
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		

		
	}

}

 

标签:学习,clazzid,int,void,public,ibatis,import,关联,id
From: https://blog.51cto.com/u_4427045/6238084

相关文章

  • 网页编辑器学习之xheditor
    因为工作需要就学习了一下网页编辑器方面的知识,我总结了一下,比较流行的网页编辑器有CKeditor或者也可以叫做fckeditor,我也动手做了实际的案例发现可以跑起来,就是那个上传的文件管理感觉不太好,所以看了一下csdn的编辑器用的是xheditor所以就在网上找了一下相关的知识。http://h5566h......
  • Struts2标签学习
    <td><s:iftest="%{#l.res_scope==1}">完全共享</s:if><s:elseiftest="%{#l.res_scope==2}">班级共享</s:elseif><s:else>好友共享</s:else></td><h3>发布资源</h3&......
  • ibatis学习注意事项
    1.对于多参数的问题:在ibatis中,会发现其输入参数只能有一个,于是当出现需要进行多个输入参数的时候,就要想点办法了,我看到的有以下两种比较好的方法能够解决这个问题用String代替<selectid="checkLogin"parameterClass="java.lang.String"resultClass="java.lang.Integer">SELECT......
  • 堆与二叉搜索树学习笔记
    部分内容来自OI-WIKI。1.堆堆的定义堆是一棵二叉树,满足每个节点的键值都大于等于它的父亲节点或者小于等于它的父亲节点。每个节点的键值都大于等于它的父亲节点的叫小根堆,每个节点的键值都小于等于它的父亲节点的叫大根堆。优先队列是一种抽象数据类型,它是一种容器,里面有......
  • Http学习之使用HttpURLConnection…
    post请求的OutputStream实际上不是网络流,而是写入内存,在getInputStream中才真正把写道流里面的内容作为正文与根据之前的配置生成的httprequest头合并成真正的http request,并在此时才真正向服务器发送。函数可以改变这个模式,设置了ChunkedStreamingMode后,不再等待Out......
  • 详细的BoltDB学习记录文档
    最近项目中用到了boltdb这个go开发的key/value数据库,但是之前并有接触过,所以特意去看了官方,也找了些资料,网上找的资料要不就是官方文档的翻译,要不就是简单的介绍一点,都不是很全,所以这里记录下。话不多说,冲!本篇文章是参考了官方的文档,内容和官方的基本一致,只是加了些自己的理解......
  • 嵌入式学习笔记汇总
    本文整理STM32、STM8和uCOS-III的所有文章链接。STM32学习笔记目录源码:mySTM32-learnSTM32学习笔记(1)——LED和蜂鸣器STM32学习笔记(2)——按键输入实验STM32学习笔记(3)——时钟系统STM32学习笔记(4)——NVIC中断优先级管理和外部中断EXTISTM32学习笔记(5)——系统定时器SysTickS......
  • matlab学习2(数据预处理、简单线性规划)
    1.matlab导入数据注意事项:记得保存数据,清空工作区或者关闭matlab后数值就没有了。2.数据预处理清理缺失值实时编辑器-->任务-->清理缺失数据处理异常值:实时编辑器-->任务-->清理离群数据例子:x=1:100;%构造一个数组,元素为1,2,...,100%randn(1,100)生成1行100列矩......
  • ActiveMQ学习(一)——MQ的基本概念…
    1)队列管理器队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务。2)消息在MQ中,我们把应用程序交由MQ传输的数据定义为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:用户的各种类型的数据文件,某个应用向其它应用发出的处理请求等都可以作为消息。......
  • OpenCV加载深度学习模型
    目录1.单张图像(1)构建网络模型(2)图像预处理(3)预测结果2.多张图像本文使用OpenCV加载深度学习模型,实现了对传入的单张图像或多张图像进行预测。步骤:首先读入Caffe框架训练好的模型,然后对输入图像进行预处理操作,并将其传入已构建的网络模型,最后对得到的预测结果进行排序,找......