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>
  • 相关阅读:
    Javascript异步编程的4种方法
    同步编程和异步编程
    关于js 异步回调的一些方法
    array的方法 没记住的
    阮一峰关于reduce 和transduce的博客
    CSS开发小技巧
    提升自己的一个网址
    asm.js 和 Emscripten 入门教程
    Koa -- 基于 Node.js 平台的下一代 web 开发框架
    C#中使用handsonetable的一个例子
  • 原文地址:https://www.cnblogs.com/loaderman/p/10064477.html
Copyright © 2011-2022 走看看