Java - MySQL 自增ID实现

1.在navicat中进行表的设计的时候,可以直接勾选

2.插入数据

INSERT INTO TABLE_DATA_TEST_ITEMS values(ID, ?, 0, null, null, null, 1, ?, ?);

3.插入之后获取到自增ID

//针对上面的SQL进行插入
PreparedStatement pst;
pst = conn.prepareStatement(sql);
pst.setString(1,strFolderName);	
pst.setInt(2, parentNode.getID());
pst.setString(3, strOracleVersion);
pst.executeUpdate();
//插入之后直接调用函数getGeneratedKeys获取结果集
ResultSet rs = pst.getGeneratedKeys();
if(rs.next()) {
	nNodeID = rs.getInt(1);
}

参考博客:

https://www.cnblogs.com/51python/p/11443602.html

https://blog.csdn.net/weixin_31225753/article/details/113324387

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要设置Java中的主键自增,你需要在数据库表的主键字段上使用自增长属性,并在Java代码中做一些相应的配置。下面是一个示例: 1. 在数据库中设置自增主键 假设你的数据库表为`user`,主键字段名为`id`,你可以使用数据库自增长属性来设置主键自增。具体的语法可能会因数据库类型而有所差异,以下是MySQL和Oracle数据库的示例: - MySQL: ```sql CREATE TABLE user ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT ); ``` - Oracle: ```sql CREATE TABLE user ( id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, name VARCHAR2(50), age NUMBER ); ``` 2. 在Java代码中配置主键自增Java的实体类或数据访问层中,你需要进行一些配置才能实现主键自增。以下是一些示例: - 使用JPA注解(适用于Spring框架): ```java import javax.persistence.*; @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Long id; // 其他属性和方法 } ``` - 使用MyBatis注解(适用于MyBatis框架): ```java public interface UserMapper { @Insert("INSERT INTO user (name, age) VALUES (#{name}, #{age})") @Options(useGeneratedKeys = true, keyProperty = "id") void insertUser(User user); // 其他方法 } ``` 在上述示例中,使用了JPA注解的`@GeneratedValue(strategy = GenerationType.IDENTITY)`和MyBatis注解的`@Options(useGeneratedKeys = true, keyProperty = "id")`来配置主键自增。这将告诉数据库在插入数据时生成自增的主键值,并将其赋值给Java对象的`id`属性。 请根据你使用的框架和数据库类型进行相应的配置。希望以上信息对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑咖啡不加糖丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值