当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

JDBC 插入数据返回数据主键

发表于: 2013-05-14   作者:cuisuqiang   来源:转载   浏览次数:
摘要: 参考代码:   package com.test; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.Date; import java.util.Prop

参考代码:

 

package com.test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
import java.util.Properties;
/**
 * 数据库连接对象管理类
 * @说明
 * @author cuisuqiang
 * @version 1.0
 * @since
 */
public class ConnectionManager {
	private static final String url = "jdbc:mysql://localhost:3306/test";
	private static final String username = "root";
	private static final String userpass = "root";
	@SuppressWarnings("deprecation")
	public static void main(String[] args) throws Exception{
		Connection conn = getConnection();
		if (null != conn) {
			String sql = "insert into common_user (name) values(?)";
			// 指定返回生成的主键
            PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); 
            // 如果使用静态的SQL,则不需要动态插入参数
            pstmt.setString(1, new Date().toLocaleString());
            pstmt.executeUpdate(); 
            // 检索由于执行此 Statement 对象而创建的所有自动生成的键 
            ResultSet rs = pstmt.getGeneratedKeys(); 
            if (rs.next()) {
                Long id = rs.getLong(1); 
                System.out.println("数据主键:" + id); 
            }
		}
	}
	public static Connection getConnection() {
		Connection conn = null;
		try {			
			com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
			Properties properties = new Properties();
			properties.put("user", username);
			properties.put("password", userpass);
			conn = driver.connect(url, properties);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conn;
	}
}

 

 打印生成的主键:

数据主键:25

 

请您到ITEYE网站看原创,谢谢!

http://cuisuqiang.iteye.com/ !  

自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!

JDBC 插入数据返回数据主键

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用。我们通常的做
在使用MyBatis进行开发的过程中,当你遇到向某张数据库表中插入一条记录时,出现数据插入不正确,如
闲来无事,就想测试一下我的mysql插入数据的效率到底如何。 现在不清楚我的测试方法到位否,所以与大
今天用CCBPM做一串业务操作,具体的操作是:我先异步更新数据状态---之后同步读取数据---同步调用RF
注: 级联删除都是在主键一方配置,主键一方的数据被删除那么外键一方的数据表也呗删除 一、未设置
本文查阅方法: 1、查阅目录 —— 查阅本文目录,确定想要查阅的目录标题 2、快捷“查找” —— 在
本文查阅方法: 1、查阅目录 —— 查阅本文目录,确定想要查阅的目录标题 2、快捷“查找” —— 在
1.背景 在多个项目中,当我方接口给其他部门人员使用时出现了插入数据失败或者插入的数据在WMTS请求
本来打算主键ID用触发器生成,因为程序只需要一次IO就能插入一条数据。 图在下面,这里assigned不能
原文: 百万数据修改索引,百万数据修改主键 当百万数据时,如果修改主键,那么会自动重建索引,所以
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号