论坛首页 入门技术论坛

JDBC 插入数据返回数据主键

浏览 9481 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-05-14  

参考代码:

 

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/ !  

   发表时间:2013-05-14  
如果是oracle呢
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics