ibatis的联合查询

(2011-06-29 11:17:29)

和一般查询区别不同的有三个地方

 

1、首先是实体里面,以前存的是string 现在肯定要修改为 对象

package bean;

import java.sql.Timestamp;
import java.util.Date;

import baseparam.DeptBean;//存对象

public class StudentBean
{
 private String id;
 
 private String name;
 
 private String email;
 
 private Date birthday;
 
 private DeptBean dept;
 
 public DeptBean getDept()
 {
  return dept;
 }

 public void setDept(DeptBean dept)
 {
  this.dept = dept;
 }

 public String getId()
 {
  return id;
 }

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

 public Date getBirthday()
 {
  return birthday;
 }

 public void setBirthday(Date birthday)
 {
  this.birthday = birthday;
 }

 public String getName()
 {
  return name;
 }

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

 public String getEmail()
 {
  return email;
 }

 public void setEmail(String email)
 {
  this.email = email;
 }

 public StudentBean(String name)
 {
  super();
  this.name = name;
 }

 public StudentBean()
 {
  super();
  }
 
}

 

2、在配置文件中指定部门实体路径(/ibatis/src/SqlMapConfig.xml)

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
 <typeAliases>
  <typeAlias type="bean.StudentBean" alias="studentBean" />
  
  <!-- 指定部门实体路径-->
  <typeAlias type="baseparam.DeptBean" alias="deptBean"/>
 </typeAliases>
 
 <environments default="development">
  <environment />
 </mappers>
</configuration>

 

3、最后一个就是修改mapper文件了(/ibatis/src/Student.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="student">

 <sql />
  </association>
 </resultMap>
 </mapper>

其他地方和一般的配置一样

 

最后测试类

 
 public void getAll()
 {
  StudentDao dao = new StudentDaoImpl();
  
  List<StudentBean> students = dao.getAllStudents();
  
  for(StudentBean c : students)
  {
   DeptBean dept = c.getDept();
   System.out.println("student'id is\t" + c.getId());
   System.out.println("student'name is\t" + c.getName());
   if(dept != null)
   {
    
    System.out.println("dept'name is\t" + dept.getName());
   }
   System.out.println("------------------------------");
  }
 }

相关文章: