我有 POJO 类:
class Ticket {
private int id;
private double cost;
private Date time;
private List<Place> places;
// Getters and setters here
}
class Place {
private int row;
private int place;
// Getters and setters here
}
然后我创建一张票和一些地方:
Ticket ticket = new Ticket();
ticket.setCost(58.7);
ticket.setTime(new Date());
Place place1 = new Place();
place1.setRow(1);
place1.setPlace(2);
ticket.addPlace(place1);
Place place2 = new Place();
place2.setRow(3);
place2.setPlace(4);
ticket.addPlace(place2);
现在我想将它保存到数据库:
session.insert("insertTicket", ticket);
session.commit();
在 MapperConfig.xml 中我写了这几行:
<insert id="insertTicket" parameterType="Ticket">
INSERT INTO tickets (cost, time) VALUES (#{cost}, #{time})
</insert>
如何在自动模式下保存List places? MyBatis 可以帮我保存吗? 或者我需要使用 foreach 手动迭代并手动插入每个 Place?
感谢您的帮助。
最佳答案
即使 MyBatis 能够支持反向(即在查询期间使用嵌套选择或从连接填充列表),也没有自动模式将包含列表插入数据库。
根据这个Google Groups discussion您必须手动插入列表元素。
关于java - 使用 MyBatis 将集合持久化到对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4287544/