java - myBatis 中如何映射一对多关系?

标签 java database orm mybatis

因此,我必须将下表映射到 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对象。这些属性对象具有 lastModifiedactivity 字段。到目前为止,我的方法是创建一个 Row 对象,通过 myBatis 将表的每一行映射到 Row 对象。然后做一些Java端的处理来整理一切。有没有办法通过 myBatis 注释和/或 xml 直接映射此表,以便创建 2 个任务对象,每个对象都有一个填充的属性对象列表?

最佳答案

这是mybatis文档:http://www.mybatis.org/mybatis-3/sqlmap-xml.html .或许你可以使用mybatis集合来解决你的问题。

关于java - myBatis 中如何映射一对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39113210/

相关文章:

java - 如何在 Mockito 中模拟方法参数

database - 在 E/R 模型中将三元关系转换为二元关系

python - 重写delete() 与使用预删除信号

django/celery : Best practices to run tasks on 150k Django objects?

java - 为什么 Hibernate 默认不设置 @DynamicInsert

java - 在 MySQL 中使用数字创建序列日期

java - 我可以获得我的程序剩余多少内存吗?

sql - 如何将 2 个表中的信息放入 1 行?

database - 如何将新对象添加到mongo中的现有数据

java - 将 c-shared 库回调转换为其他语言