mybatis动态sql查询语法

来源:互联网 发布:千里马计划软件官方 编辑:程序博客网 时间:2024/04/19 03:29

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>


0 0