mybatis学习之添加新用户例子

这篇博客详细介绍了如何使用Mybatis进行新用户添加,包括配置数据库映射文件User.xml,编写插入用户的程序,并讲解了如何获取自增主键ID的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、配置数据库映射文件(User.xml)

在其中加入如下代码:
    <!--
    添加用户
    parameterType:指定输入的参数类型是pojo
    #{}中指定pojo的属性名,接收到pojo对象的属性值,mybatis也是通过OGNL来获取对象的属性值
     -->
    <insert id="insertUser" parameterType="pojo.User">
        INSERT INTO USER VALUES(#{id},#{username},#{birthday},#{sex},#{address});
    </insert>

注意:在此处的parameterType中,指定的是对象名,而不是简单数据类型,在下方指定pojo的各属性名

2、编写程序

//添加用户
    @Test
    public void insertUser(){
        //mybatis配置文件
        String resource = "SqlMapConfig.xml";
        SqlSession sqlSession = null;
        try {
            InputStream inputStream = Resources.getResourceAsStream(resource);
            //创建会话工厂,传入mybatis的配置信息
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            //通过工厂得到SqlSession
            sqlSession = sqlSessionFactory.openSession();
            //通过SqlSession来操作数据库
            //List中的User泛型,和resultType中指定的类型一致
            User user = new User();
            user.setUsername("fjnmbb1234");
            user.setBirthday(new Date());
            user.setSex("1");
            user.setAddress("湖南长沙");
            sqlSession.insert("test.insertUser",user);
            //提交事务
            sqlSession.commit();
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            //释放资源
            sqlSession.close();
        }
    }
注意:在此处,因为添加用户没有返回值,所以在此处没有定义来接受返回值的变量。在添加完成后,最后记得commit一下,因为mybatis默认没有开启自动提交事务。在与spring整合后就可不再考虑提交事务的问题。

程序运行结果:



3、获取自增主键ID

3.1 在映射文件中配置insert语句,在其中加入如下:

<!--
        将insert插入数据后生成的主键返回到user对象中
        SELECT LAST_INSERT_ID() 得到刚才插入的进去的记录的主键值,只能是自增主键
        keyProperty: 将查询到的主键值设置到这个parameterType指定的哪个属性
        order : 相对于sql语句来说的执行顺序
         -->
        <selectKey keyProperty="id" order="AFTER" resultType="int">
            SELECT LAST_INSERT_ID()
        </selectKey>

3.2 在程序编写中,插入如下:

System.out.print(user.getId());

可以直接get到值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值