JDBC 获取自增长的主键值

Oracle中通过序列实现主键的自增长,方法如下:

--删除序列
DROP SQUENCE 序列名
--创建序列
CREATE SQUENCT 序列名 [INCREMENT BY 步长 START WITH 起始值]
--使用序列
INSERT INTO emp(empno,ename,job) VALUES(序列名.nextval,'张三','总裁');

MySQL中实现自增长的方式如下:

CREATE TABLE emp(
	empno INT(4) AUTO_INCREMENT,
	ename VARCHAR(10))
  • 保证自增长的字段必须是主键
  • 自增长的字段的数据类型必须是数字类型
    MySQL还可以通过使用工具进行修改
    在这里插入图片描述
    通过JDBC取得自增长的方式如下:
public static boolean insertEmpAutoKey() throws SQLException {
	//取得Connection对象
	Connection conn = ConnectionUtil.getConnection();
	//创建sql语句
	String sql = "INSERT INTO emp(ename,job,sal,hiredate,mgr,comm,deptno) "
			+ "VALUES('张三','总裁',9000,NOW(),null,2000,10)";
	//取得发送sql语句的对象
	PreparedStatement pst = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
	int row = pst.executeUpdate();
	ResultSet rst = pst.getGeneratedKeys();
	if (rst.next()) {
		System.out.println("自增长的主键是:"+rst.getInt(1));
	}
	rst.close();
	ConnectionUtil.close(conn);
	return row > 0;
}

先在取得预编译对象这一部中加入参数Statement.RETURN_GENERATED_KEYS
后通过pst.getGeneratedKeys()取得ResultSet的结果集
最后判断rst.next()后通过rst.getInt(1)获取

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您可以使用 JDBC(Java Database Connectivity)来连接数据库并获取表中的字段。以下是一个简单的示例代码,演示如何使用 JDBC 获取表中的字段: ```java import java.sql.*; public class JDBCTest { public static void main(String[] args) { // 数据库连接信息 String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "password"; try { // 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 Connection conn = DriverManager.getConnection(url, username, password); // 创建 Statement 对象 Statement stmt = conn.createStatement(); // 执行 SQL 查询 String sql = "SELECT * FROM mytable"; ResultSet rs = stmt.executeQuery(sql); // 获取结果集的元数据信息 ResultSetMetaData rsmd = rs.getMetaData(); // 获取字段数量 int columnCount = rsmd.getColumnCount(); System.out.println("表中字段数量:" + columnCount); // 输出每个字段的名称和类型 for (int i = 1; i <= columnCount; i++) { String columnName = rsmd.getColumnName(i); String columnType = rsmd.getColumnTypeName(i); System.out.println("字段名称:" + columnName + ",字段类型:" + columnType); } // 关闭连接 rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的代码中,您需要将 `url`、`username` 和 `password` 替换为您实际的数据库连接信息。然后,通过执行 SQL 查询并使用 `ResultSetMetaData` 获取结果集的元数据信息,包括字段数量、字段名称和字段类型。 请注意,在实际开发中,您可能需要根据具体的数据库类型和表结构进行适当的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值