21xrx.com
2024-11-03 22:14:37 Sunday
登录
文章检索 我的文章 写文章
Java中获取自增id的方法
2023-06-16 10:29:45 深夜i     --     --
Java 自增id JDBC MyBatis Hibernate

在业务开发中,我们常常会需要使用自增id。在Java中,获取自增id可以通过数据库自动递增或者触发器自动生成等方式实现。下面介绍一些常见的方法。

1. 使用JDBC获取自增id

可以在执行插入sql语句之后通过JDBC获取自增id,示例代码如下:


Connection conn = DriverManager.getConnection(url, user, password);

PreparedStatement ps = conn.prepareStatement("insert into table_name (column1, column2) values (?, ?)", Statement.RETURN_GENERATED_KEYS);

ps.setXXX(1, value1);

ps.setXXX(2, value2);

ps.executeUpdate();

ResultSet rs = ps.getGeneratedKeys();

if (rs.next()) {

  int generatedId = rs.getInt(1);

  // do something with id

}

2. 使用MyBatis获取自增id

在MyBatis中,获取自增id可以通过`useGeneratedKeys`和`keyProperty`两个属性实现,示例代码如下:


  insert into table_name (column1, column2) values (#{value1}, #{value2})

  

    select last_insert_id()

  

3. 使用Hibernate获取自增id

在Hibernate中,获取自增id可以通过`@GeneratedValue`注解的`strategy`属性指定为`GenerationType.IDENTITY`实现,示例代码如下:


@Entity

@Table(name = "table_name")

public class User {

  @Id

  @GeneratedValue(strategy = GenerationType.IDENTITY)

  private Integer id;

  private String column1;

  private String column2;

  // getters and setters

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复