zoukankan      html  css  js  c++  java
  • JDBC获得oracle数据库主键值

    在实际的应用过程中 会出现一些业务需求 插入一条记录 获得其主键值 也就是oracle中的序列

    在JdbcTemplate 模板类中 可以定义一个方法 执行插入数据(insert)语句 之后 返回主键值

    public class JdbcTemplate {
    
     private Connection conn; //连接对象
    
    private PreparedStatement ps;//预编译语句对象
    
    private ResultSet rs; //结果集对象
    
     
    
    public int insertGetKey(String sql,Object[] par,String[] keyname){ 
    
    //第一个参数 执行的sql语句,第二个参数sql语句需要的参数数组,第三个要查询的主键值的列名数组
    try {
    conn=DBUtil.getConnection(); //获得连接对象
    ps=conn.prepareStatement(sql,keyname);
    
    //第一个参数sql语句 第二个string数组中存放要获取主键值的列名
    
    if(par!=null){  //sql参数数组不为null
        for(int i=0;i<par.length;i++){          
        if(par[i] instanceof Date){              
         Date d=(Date)par[i];  
       ps.setTimestamp(i+1, new Timestamp(d.getTime()));  //日期类型特殊 处理
      }else{
       ps.setObject(i+1, par[i]);   //设置参数
          }
       }
    }
    ps.executeUpdate(); //执行sql语句
    rs=ps.getGeneratedKeys(); //返回主键值的结果集
    
    
    if(rs.next()){
    return rs.getInt(1);  //返回主键值
    }
    
    
    } catch (SQLException e) {
    e.printStackTrace(); //异常处理
       }finally{
    DBUtil.close(conn, rs, ps); //释放资源
       }
    return 0;
     }
    
     }

     

  • 相关阅读:
    ubuntu搭建GitLab
    inline,inline-block,block元素的区别
    ES6入门学习
    webpack配置
    angular6之路由
    angular6之Http服务
    angular6之http请求拦截器
    Spring Cloud(6.2):搭建OAuth2 Client
    Spring Cloud(6.1):搭建OAuth2 Authorization Server
    keytool命令的使用
  • 原文地址:https://www.cnblogs.com/java888/p/10370463.html
Copyright © 2011-2022 走看看