zoukankan      html  css  js  c++  java
  • mybatis之动态SQL操作之插入

    1)  根据条件,插入一个学生

    /**
     * 持久层*/
    public class StudentDao {
        /**
         * 动态SQL--插入
         */
        public void dynaSQLwithInsert(Student student) throws Exception{
            SqlSession sqlSession = MyBatisUtil.getSqlSession();
            try{
                sqlSession.insert("mynamespace.dynaSQLwithInsert",student);
            }catch(Exception e){
                e.printStackTrace();
                sqlSession.rollback();
                throw e;
            }finally{
                sqlSession.commit();
                MyBatisUtil.closeSqlSession();
            }
        }
        public static void main(String[] args) throws Exception{
            StudentDao dao = new StudentDao();
            dao.dynaSQLwithInsert(new Student(1,"哈哈",7000D));
            dao.dynaSQLwithInsert(new Student(2,"哈哈",null));
            dao.dynaSQLwithInsert(new Student(3,null,7000D));
        }
    }
    <?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="mynamespace">
        <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="dynaSQLwithInsert" parameterType="loaderman.Student">
            insert into students(<include refid="key"/>) values(<include refid="value"/>)
        </insert>
    </mapper>
  • 相关阅读:
    java编程思想概括(第二章)一切都是对象
    java编程思想概括(第六章)复用类
    .net程序在无.net环境下运行
    一个让人哭笑不得的触发器
    iReaper for android
    博易博客删除垃圾评论
    解决博易2.0版分页问题
    允许更新此预编译站点的作用
    java包的命名规则技巧
    简易拨号器iCall
  • 原文地址:https://www.cnblogs.com/loaderman/p/10064477.html
Copyright © 2011-2022 走看看