java如何在myBatis中映射onetomany关系?
因此,我必须将下表映射到Java对象:
+---------+-----------+---------------------+---------------------+--------+
| task_id | attribute | lastModified | activity | row_id |
+---------+-----------+---------------------+---------------------+--------+
| 1 | 1 | 2016-08-23 21:05:09 | first activity | 1 |
| 1 | 3 | 2016-08-23 21:08:28 | connect to db | 2 |
| 1 | 3 | 2016-08-23 21:08:56 | create web services | 3 |
| 1 | 4 | 2016-08-23 21:08:56 | data dump | 4 |
| 1 | 5 | 2016-08-23 21:08:56 | test cases | 5 |
| 1 | 6 | 2016-08-23 21:08:57 | dao object | 6 |
| 1 | 7 | 2016-08-23 21:08:57 | buy streetfood | 7 |
| 2 | 6 | 2016-08-23 21:08:57 | drink coke | 8 |
| 2 | 6 | 2016-08-23 21:09:00 | drink tea | 9 |
| 2 | 1 | 2016-08-23 21:12:30 | make tea | 10 |
| 2 | 2 | 2016-08-23 21:13:32 | charge phone | 11 |
| 2 | 3 | 2016-08-23 21:13:32 | shower | 12 |
| 2 | 4 | 2016-08-23 21:13:32 | sleep | 13 |
+---------+-----------+---------------------+---------------------+--------+
这里,每个Task
对象(由task_id
列标识)都有多个attribute
对象。这些属性对象具有lastModified
和activity
字段。到目前为止,我的方法是创建一个Row
对象,并通过myBatis将表的每一行映射到一个Row
对象。然后做一些Java端处理,把一切都整理好。有没有办法通过myBatis注释和/或xml直接映射此表,以便创建两个任务对象,每个任务对象都有一个填充的ATAttribute对象列表
# 1 楼答案
这是mybatis文件:http://www.mybatis.org/mybatis-3/sqlmap-xml.html。也许你可以用mybatis系列来解决你的问题