zoukankan      html  css  js  c++  java
  • mybatis~2

    添加用户

    1、映射文件:在User.xml配置文件中添加如下内容

        <!-- 保存用户 -->
        <insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User">
            INSERT INTO `user`
            (username,birthday,sex,address) VALUES
            (#{username},#{birthday},#{sex},#{address})
        </insert>

    2、测试程序

    @Test
    public void testSaveUser() {
        // 4. 创建SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
    
        // 5. 执行SqlSession对象执行保存
        // 创建需要保存的User
        User user = new User();
        user.setUsername("张飞");
        user.setSex("1");
        user.setBirthday(new Date());
        user.setAddress("蜀国");
    
        sqlSession.insert("saveUser", user);
        System.out.println(user);
    
        // 需要进行事务提交
        sqlSession.commit();
    
        // 7. 释放资源
        sqlSession.close();
    }

    保存成功,但是id=0,需要解决id返回不正常的问题。

    解决:mysql自增主键返回

    通过修改User.xml映射文件,可以将mysql自增主键返回:

    <!-- 保存用户 -->
    <insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User">
        <!-- selectKey 标签实现主键返回 -->
        <!-- keyColumn:主键对应的表中的哪一列 -->
        <!-- keyProperty:主键对应的pojo中的哪一个属性 -->
        <!-- order:设置在执行insert语句前执行查询id的sql,还是在执行insert语句之后执行查询id的sql -->
        <!-- resultType:设置返回的id的类型 -->
        <selectKey keyColumn="id" keyProperty="id" order="AFTER"
            resultType="int">
            SELECT LAST_INSERT_ID()
        </selectKey>
        INSERT INTO `user`
        (username,birthday,sex,address) VALUES
        (#{username},#{birthday},#{sex},#{address})
    </insert>

    LAST_INSERT_ID():是mysql的函数,返回auto_increment自增列新记录id值。

  • 相关阅读:
    django-02框架-配置、静态文件和路由
    django-01框架-工程搭建
    python虚拟环境安装
    linux推送文件到另一台主机
    python2问题收集
    python diff json方法
    Linux expect详解
    python scp到远端机器
    shell远程执行命令(命令行与脚本)
    git操作
  • 原文地址:https://www.cnblogs.com/xiaoxli/p/9594530.html
Copyright © 2011-2022 走看看