让我们重回到车辆管理系统和张三的故事中。
在 iBATIS SQL Maps 的世界里也存在 one-to-many、many-to-one 的关系,想必你已经对这些概念驾轻就熟了。好!还是每个 People 对应多条 AutoInfo 信息。
本系列文章第一部分提到过 iBATIS SQL Maps 的映射文件个数可以人为设定,但是,把一组有共性的操作放在一起是首选策略。下面我们看看为张三首次买车所生成的映射文件是怎样的:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="AutoMag"> <insert id="insertPeople" parameterClass="bo.People"> <![CDATA[ insert into people (name, address) values (#name#, #address#) ]]> <selectKey resultClass="java.lang.Integer" keyProperty="id"> <![CDATA[ select last_insert_id(); ]]> </selectKey> </insert> <insert id="insertAutoInfo" parameterClass="bo.AutoInfo"> <![CDATA[ insert into auto_info (license_plate, owner_no) VALUES (#licensePlate#, #ownerNo.id#) ]]> </insert></sqlMap>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="AutoMag">
<insert id="insertPeople" parameterClass="bo.People"> <![CDATA[ insert into people (name, address) values (#name#, #address#) ]]> <selectKey resultClass="java.lang.Integer" keyProperty="id"> <![CDATA[ select last_insert_id(); ]]> </selectKey> </insert> <insert id="insertAutoInfo" parameterClass="bo.AutoInfo"> <![CDATA[ insert into auto_info (license_plate, owner_no) VALUES (#licensePlate#, #ownerNo.id#) ]]> </insert></sqlMap>
sqlMap
sqlMap 元素拥有属性 namespace="…",定义了该 XML 文件命名空间。如果你在配置文件 SqlMapConfig.xml 中指定了 settings 元素的属性 useStatementNamespaces="true",那么就可以按照命名空间的方式访问 Mapped statement,比如 namespace=" AutoMag"
[1] [2] [3] [4] [5] [6] [7] 下一页
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18