您的位置:首页 > 数据库

mybatis动态sql查询语法

2016-08-22 08:38 387 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: