1.StudentDao
package cn.itcast.app07;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import cn.itcast.util.MybatisUtil;
public class StudentDao {
//数组
public void dynaInsert(Student student) throws Exception{
SqlSession sqlSession=null;
try{
sqlSession=MybatisUtil.getSqlSession();
sqlSession.insert(Student.class.getName()+".dynaInsert", student);
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
sqlSession.rollback();
throw e;
}finally{
MybatisUtil.closeSqlSession();
}
}
//测试
public static void main(String[] args) throws Exception{
StudentDao dao=new StudentDao();
dao.dynaInsert(new Student(1,"王洪海",7777D));
}
}
2.映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.itcast.app07.Student">
<resultMap type="cn.itcast.app07.Student" id="studentMap">
<id property="id" column="id"></id>
<result property="name" column="name"/>
<result property="sal" column="sal"/>
</resultMap>
<sql id="key">
<trim suffixOverrides=",">
<if test="id!=null" >
id,
</if>
<if test="name!=null">
name,
</if>
<if test="sal!=null">
sal,
</if>
</trim>
</sql>
<sql id="value">
<trim suffixOverrides=",">
<if test="id!=null" >
#{id},
</if>
<if test="name!=null">
#{name},
</if>
<if test="sal!=null">
#{sal},
</if>
</trim>
</sql>
<insert id="dynaInsert" parameterType="cn.itcast.app06.Student">
insert into students(<include refid="key"/>) values(<include refid="value"/>);
</insert>
</mapper>