1: <?xml version="1.0" encoding="UTF-8" ?>
2:
3: <!DOCTYPE sqlMap
4: PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
5: "http://ibatis.apache.org/dtd/sql-map-2.dtd">
6:
7: <sqlMap namespace="Customer">
8:
9: <typeAlias alias="Customer" type="org.ibatis.model.Customer" />
10: <typeAlias alias="Order" type="org.ibatis.model.Order" />
11:
12: <cacheModel id="CUSTOMER-CACHE" type="OSCACHE">
13: <flushInterval hours="24" />
14: <flushOnExecute statement="inserCustomer" />
15: <flushOnExecute statement="updateCustomer" />
16: <property name="size" value="1000" />
17: </cacheModel>
18:
19: <resultMap id="CustomerAndOrderResult" class="Customer">
20: <result property="id" column="ID" />
21: <result property="name" column="NAME" />
22: <result property="orders" column="ID" select="selectOrdersById" />
23: </resultMap>
24:
25:
26: <resultMap id="CustomerAndOrderResult2" class="Order">
27: <result property="customer.id" column="ID" />
28: <result property="customer.name" column="NAME" />
29: <result property="address" column="ADDRESS" />
30: </resultMap>
31:
32: <select id="selectCustomerById" parameterClass="java.lang.Long"
33: resultClass="Customer">
34: select * from T_CUSTOMER where ID = #id#
35: </select>
36:
37: <select id="selectCustomerOrders" parameterClass="java.lang.Long"
38: resultMap="CustomerAndOrderResult">
39: select c.id as id,c.name as name from T_CUSTOMER c where
40: c.id = #id#
41: </select>
42:
43: <select id="selectCustomerOrders2" parameterClass="java.lang.Long"
44: resultMap="CustomerAndOrderResult2" cacheModel="CUSTOMER-CACHE">
45: select c.id as
46: id,c.name as name,o.address as address
47: from T_CUSTOMER c
48: left join T_Order o on c.id = o.customer_id
49: where o.id = #id#
50: </select>
51:
52: <select id="selectCustomers" resultClass="Customer">
53: select * from
54: T_CUSTOMER
55: </select>
56:
57:
58: <insert id="inserCustomer" parameterClass="Customer">
59: <selectKey resultClass="java.lang.Long" keyProperty="id">
60: select
61: user_seq.nextval from dual
62: </selectKey>
63:
64: insert into T_CUSTOMER (ID,NAME,PASSWD,PHONE) values
65: (#id#,#name#,#passwd#,#phone#)
66: </insert>
67:
68: <update id="updateCustomer" parameterClass="Customer">
69: update t_customer set
70: NAME = #name# where ID = #id#
71: </update>
72:
73: <delete id="deleteCustomerById" parameterClass="java.lang.Long">
74: delete from
75: t_customer where ID = #id#
76: </delete>
77:
78:
79: </sqlMap>
80: