mybatis存储List--FROM:学校大学生活动中心预约系统

234 阅读1分钟

###mybatis存储List<>
项目根据开学日期和总周数初始化出了一个List< WeekInfo >,现在要把这个List存储到mysql数据库中,遍历List存储显然是不存在的,在循环中访问数据库是大忌。所以干脆直接给mybatis一个List,让它存去吧。

####1.WeekInfo实体类:

/**
 * 学期周数信息表
 * Created by zhaoxudong on 2017/11/21.
 */
public class WeekInfo {
    private int id;//id
    private int weeknum;//周数
    private String weekstart;//开始时间 (周一)
    private String weekend;//结束时间 (周日)
    //附带字段
    @Transient
    private int weekdaynow;//今天是周几
    
...
}

####2.数据库结构设计

数据库结构设计


####3.Mapper

<!--初始化学期信息-->
    <insert id="init" useGeneratedKeys="true" parameterType="java.util.List">
        <selectKey resultType="int" keyProperty="id" order="AFTER">
            SELECT
            LAST_INSERT_ID()
        </selectKey>
        insert into weekinfo (id, weeknum,weekstart,weekend)
        values
        <foreach collection="list" item="item" index="index" separator="," >
            (#{item.id}, #{item.weeknum},#{item.weekstart},#{item.weekend})
        </foreach>
    </insert>

####4.Dao

//初始化学期信息
    int init(List<WeekInfo> weekInfolist);