设为首页 加入收藏

TOP

尚硅谷-mybatis-(一对一关联)
2015-07-24 10:45:40 来源: 作者: 【 】 浏览:1
Tags:硅谷 -mybatis- 一对一 关联

提出需求:

根据班级id查询班级信息(带老师的信息)


项目结构:

\

创建表和数据:<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PHByZSBjbGFzcz0="brush:sql;">CREATE TABLE teacher( t_id INT PRIMARY KEY AUTO_INCREMENT, t_name VARCHAR(20) ); CREATE TABLE class( c_id INT PRIMARY KEY AUTO_INCREMENT, c_name VARCHAR(20), teacher_id INT ); ALTER TABLE class ADD CONSTRAINT fk_teacher_id FOREIGN KEY (teacher_id) REFERENCES teacher(t_id); INSERT INTO teacher(t_name) VALUES('LS1'); INSERT INTO teacher(t_name) VALUES('LS2'); INSERT INTO class(c_name, teacher_id) VALUES('bj_a', 1); INSERT INTO class(c_name, teacher_id) VALUES('bj_b', 2);
Teacher实体类:

package com.atguigu.mybatis.bean;

public class Teacher {

	private int id;
	private String name;

	public Teacher(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}

	public Teacher() {
		super();
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public String toString() {
		return "Teacher [id=" + id + ", name=" + name + "]";
	}

}

Classes实体类:

package com.atguigu.mybatis.bean;

public class Classes {

	private int id;
	private String name;
	private Teacher teacher;

	public Classes(int id, String name, Teacher teacher) {
		super();
		this.id = id;
		this.name = name;
		this.teacher = teacher;
	}

	public Classes() {
		super();
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Teacher getTeacher() {
		return teacher;
	}

	public void setTeacher(Teacher teacher) {
		this.teacher = teacher;
	}

	@Override
	public String toString() {
		return "Classes [id=" + id + ", name=" + name + ", teacher=" + teacher
				+ "]";
	}

}
classesMapper.xml映射文件代码:




	
	
	
	
	
		
		
		
			
			
		
	
	
	
	
	
	
	
	
		
		
		
		
	
	 
\
获取SqlSessionFactory工厂的MybatisUtils代码:

package com.atguigu.mybatis.utils;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MybatisUtils {

	public static SqlSessionFactory getFactory() {
		String resource = "conf.xml";
		InputStream inputStream = MybatisUtils.class.getClassLoader().getResourceAsStream(resource);

		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);

		return factory;
	}
}

配置文件conf.xml代码:




	
	
	
		
		
	
	
	
		
			
			
				
				
				
				
			
		
	
	
	
		
	

测试类Test4代码:

package com.atguigu.mybatis.test4;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import com.atguigu.mybatis.bean.Classes;
import com.atguigu.mybatis.utils.MybatisUtils;

/*
 * 测试: 一对一关联表查询
 */
public class Test4 {
	
	public static void main(String[] args) {
		
		SqlSessionFactory factory=MybatisUtils.getFactory();
		SqlSession session=factory.openSession();
		
		String statement="com.atguigu.mybatis.bean.classesMapper.getClass";
		statement="com.atguigu.mybatis.bean.classesMapper.getClass2";
		
		Classes c =session.selectOne(statement, 2);
		System.out.println(c);
		
		session.close();
	}
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇RAC一个节点的数据库无法启动:ORA.. 下一篇hadoop之mapreduse在Eclipse下的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)
·[ Linux运维学习 ] (2025-12-26 02:52:27)
·HTTPS 详解一:附带 (2025-12-26 02:20:37)
·TCP/IP协议到底在讲 (2025-12-26 02:20:34)