ibatis一对一关联查询

ibatis一对一关联查询
ibatis一对一关联查询

ibatis一对一关联查询:从主表查询,直接得到主表和子表的全部数据。以下6个步骤:

1、创建2张表:user(id,name) 和address(addressId,addressName,userId)

2、创建一个类即可:

package com.ibatis;

import java.util.HashSet;

import java.util.Set;

public class User {

/*ibatis反射机制默认加载无参构造方法。*/

public User() {

System.out.println("无参构造方法");

}

private int id;

private String name;

/** ibatis一对一关联查询*/

private String addressName;

public String getAddressName() {

return addressName;

}

public void setAddressName(String addressName) {

this.addressName = addressName;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

https://www.360docs.net/doc/6015776752.html, = name;

}

}

3、User.xml文件:

4、UserDaoImpl类加入这个方法即可:

//一对一

public List findAllUser2(){

List list = null;

try {

sqlMapClient.startTransaction();

list = sqlMapClient.queryForList("findAllUser2");

https://www.360docs.net/doc/6015776752.html,mitTransaction();

sqlMapClient.endTransaction();

} catch (SQLException e) {

e.printStackTrace();

}

return list;

}

5、测试类:

package com.test;

import java.sql.SQLException;

import java.util.Iterator;

import java.util.List;

import com.ibatis.Address;

import com.ibatis.SqlMapConfig;

import https://www.360docs.net/doc/6015776752.html,er;

import https://www.360docs.net/doc/6015776752.html,erDao;

import https://www.360docs.net/doc/6015776752.html,erDaoImpl;

import com.ibatis.sqlmap.client.SqlMapClient;

public class Test {

static UserDao ud = new UserDaoImpl();

/*测试类:对ibatis的一对一关联查询进行测试*/

public static void main(String[] args) {

//查询所有

List list = ud.findAllUser2();

for (Iterator iterator = list.iterator(); iterator.hasNext();) { User u = (User) iterator.next();

System.out.println("用户名="+u.getName()+",地址="+u.getAddressName());

}

}

}

6、其他文件:

SqlMapConfig.properties 默认的写法

SqlMapConfig.xml 默认的写法

SqlMapConfig.java 默认的写法

相关主题
相关文档
最新文档