zoukankan      html  css  js  c++  java
  • getGeneratedKeys自动获取主键的方法

    public class Demo
    {
    
    public static void main(String[] args) {
    
    try {
    String sql="insert into person values(?,?)";
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=pubs","sa","");
    
    //需要增加一个Statement.RETURN_GENERATED_KEYS这样的参数
    java.sql.PreparedStatement p=conn.PreparedStatement(sql,Statement.RETURN_GENERATED_KEYS);
    p.setObject(1, "zengguofeef");
    
    //p.setObject(2, new java.sql.Date(System.currentTimeMillis()));
    
    //必须这样设置,System.currentTimeMillis()表示当前系统时间的毫秒数,Timestamp()方法会根据这个毫秒数设置成当前时间
    p.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));
    p.executeUpdate();
    
    
    //通过这个方法获取getGeneratedKeys();
    ResultSet rs=p.getGeneratedKeys();
    rs.next();
    int num=rs.getInt(1);
    System.out.println("自动增长列为:"+num);
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    
    
    
    public static void main(String[] args)
    {
    
    //在sql语句后面加上一个select scope_identity()
    String sql="insert into person values(?,?) select scope_identity()";
    try {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs","sa","");
    java.sql.PreparedStatement p=conn.prepareStatement(sql);
    p.setObject(1, "zengguofeef");
    p.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));
    //这里使用的是executeQuery()方法,而不是executeUpdate()
    ResultSet rs=p.executeQuery();
    rs.next();
    int num=rs.getInt(1);
    System.out.println("自动增长列为:"+num);
    conn.close();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
  • 相关阅读:
    15.scrapy中selenium的应用
    14.UA池和代理池
    17.基于scrapy-redis两种形式的分布式爬虫
    08.Python网络爬虫之图片懒加载技术、selenium和PhantomJS
    05.Python网络爬虫之三种数据解析方式
    06.Python网络爬虫之requests模块(2)
    04.Python网络爬虫之requests模块(1)
    16.Python网络爬虫之Scrapy框架(CrawlSpider)
    10.scrapy框架简介和基础应用
    Python网络爬虫第三弹《爬取get请求的页面数据》
  • 原文地址:https://www.cnblogs.com/sanxinglan/p/3248516.html
Copyright © 2011-2022 走看看