暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MyBatis获取自增的主键

原创 嘿嘿嘿 2025-03-25
29

在gbase8s中自增字段可以使用serial,serial8,bigserial字段类型

建表语句

CREATE TABLE t_user (
	id SERIAL8 NOT NULL,
	username VARCHAR(20),
	password VARCHAR(20),
	age INTEGER,
	sex CHAR(1),
	email VARCHAR(20)
)
 ;
复制


创建mapper接口

package com.gbasedbt.Mybatis.mapper;

import com.gbasedbt.Mybatis.entities.User;
import org.apache.ibatis.annotations.Param;

public interface ParameterMapper {
    /**
     * 添加用户信息
     */
    void insertUserNoId(User user);
}
复制


创建ParameterMapper.xml

<?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="com.gbasedbt.Mybatis.mapper.ParameterMapper">

<!--    void insertUserNoId(User user);-->
    <insert id="insertUserNoId" useGeneratedKeys="true" keyProperty="id">
        insert into t_user(username,password,age,sex,email) values(#{username},#{password},#{age},#{sex},#{email})
    </insert>

</mapper>
复制


创建测试类

    @Test
    public void testInsertUserNoID() {
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        //获取mapper接口对象
        ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);

        //执行插入
        User users = new User(null,"mike", "123456", 23, "1", "123@q.com");
        mapper.insertUserNoId(users);
        System.out.println(users);

    }
复制


返回结果


2025-03-25 21:19:52  [main]  [org.apache.ibatis.transaction.jdbc.JdbcTransaction]  [ DEBUG ] - Opening JDBC Connection
2025-03-25 21:19:53  [main]  [org.apache.ibatis.datasource.pooled.PooledDataSource]  [ DEBUG ] - Created connection 19986569.
2025-03-25 21:19:53  [main]  [com.gbasedbt.Mybatis.mapper.ParameterMapper.insertUserNoId]  [ DEBUG ] - ==>  Preparing: insert into t_user(username,password,age,sex,email) values(?,?,?,?,?)
2025-03-25 21:19:53  [main]  [com.gbasedbt.Mybatis.mapper.ParameterMapper.insertUserNoId]  [ DEBUG ] - ==> Parameters: mike(String), 123456(String), 23(Integer), 1(String), 123@q.com(String)
2025-03-25 21:19:53  [main]  [com.gbasedbt.Mybatis.mapper.ParameterMapper.insertUserNoId]  [ DEBUG ] - <==    Updates: 1
User{id=5, username='mike', password='123456', age=23, sex='1', email='123@q.com'}
复制

可以看到id是自己获取到的自增数据。



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论