一: 准备工作

    1. 建立数据

CREATE TABLE boss(
	b_id INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
	b_name VARCHAR(255)
);
CREATE TABLE manager(
	m_id INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
	m_name VARCHAR(255)
);
INSERT INTO boss(b_name) VALUES('Tom');
INSERT INTO manager(m_name) VALUES('Mgr1');
INSERT INTO manager(m_name) VALUES('Mgr2');
INSERT INTO manager(m_name) VALUES('Mgr3');

    

    2. 建立对应的实体类

package com.mybatis.entities;
public class Manager {

	private Integer id;
	private String name;
	// 提供对应的 getter/setter 方法
	// 提供 toString 方法
}
================================
package com.mybatis.entities;

import java.util.List;

public class Boss {

	private Integer id;
	private String name;
	private List mgrs;
	// 提供相应的 getter/setter 方法
	// 提供 toString 方法
}


    3. 建立对应的sql映射文件

        这里只查询 Boss 然后接着把Boss下的所有管理者都查出来, 所以就只建立Boss的映射文件.


二: 测试

    1. 在 BossMapper.xml 写 SQL语句, 以及对应的配置


 

	
	
	 
	 
	 
	 
	 	SELECT * FROM boss b, manager m WHERE b.b_id=m.b_id AND b.b_id=#{b_id}
	 
	 
	 
	 	
	 	
	 	
	 	
	 		
	 		
	 	
	 
	 
	 
	 
	 
	 	SELECT b_id, b_name FROM boss WHERE b_id=#{b_id}
	 
	 
	 
	 	SELECT m_id id, m_name name FROM manager WHERE b_id=#{b_id}
	 
	 
	 	
	 	
	 	
	 
	 
	


    2. 代码测试

package com.mybatis.test;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.mybatis.entities.Boss;
import com.mybatis.util.MyBatisUtil;

public class TestBoss {

	@Test
	public void testGetBoss1(){
		
		SqlSession session = MyBatisUtil.getSqlSession();
		
		String statement = "com.mybatis.entities.BossMapper.getBoss1";
		Boss boss = session.selectOne(statement, 1);
		System.out.println(boss);
		
	}
	
	@Test
	public void testGetBoss2(){
		
		SqlSession session = MyBatisUtil.getSqlSession();
		
		String statement = "com.mybatis.entities.BossMapper.getBoss2";
		Boss boss = session.selectOne(statement, 1);
		System.out.println(boss);
		
	}
	
}


    完成测试!


    本篇博文源代码点击 http://pan.baidu.com/s/1i3LPOP3 下载!