首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

ibatis 学习札记 4

2012-10-11 
ibatis 学习笔记 4这篇实践一下一对一、一对多两种关系的映射操作,首先建立数据库一共三张表 分别为 person

ibatis 学习笔记 4
这篇实践一下一对一、一对多两种关系的映射操作,首先建立数据库
一共三张表 分别为 person表 card表 address表
关系是person有一个card,多个address数据

address表
address_id address_name address_person
1 nb 1
2 hz 1
3 bj 1

card表
card_id card_info
1 vip

person表
person_id person_name person_card_id
1 pf 1
新建一个工程,目录结构如下:

需要添加的jar包:
ibatis-3-core-3.0.0.242.jar
dglib-nodep-2.2.jar
asm-1.4.1.jar
ojdbc14_g.jar
可以在http://www.findjar.com/index.x这个网址上搜到相关jar包

SqlMapConfig.xml



相关的pojo




PersonDAO.java

package cn.pf.ibatis.dao;

import java.util.List;

import cn.pf.ibatis.domain.Person;

/**
* ...
* @author  pf
* @version 2010-3-22下午11:11:30
*/
public interface PersonDAO {
public List queryAllPerson();
}


test.java



跟踪变量的时候发现personList = personDAO.queryAllPerson();语句并没有将card和address属性查出,均为null,在后面for循环输出的时候才进行赋值,但是又发现一个问题,test.java代码段中for循环输出前以前调用session.close(),按照hibernate的理解应该不能懒加载了,可是居然可以,而使用session.getConnection().close();直接关闭链接就无法查出card和address属性。不明白session.close()关闭了什么东西。。。

发现ibatis还有很多事情是需要自己动手编码完成的,hibernate自动化程度就高很多了,还是喜欢hibernate一点,ibatis 还有很多没搞明白,继续找资料,继续学习。

热点排行