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();
}
}
}

getGeneratedKeys自动获取主键的方法的更多相关文章

  1. MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键

    MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键 >>>>>>>>>>>>>> ...

  2. Mybaties保存后自动获取主键ID

    <!-- 插入记录 --> <insert id="saveTvTypeBatch" useGeneratedKeys="true" keyP ...

  3. MyBatis 插入记录同时获取主键

    MyBatis 插入记录同时获取主键 MyBatis 插入记录同时获取主键的系统界面 useGeneratedKeys 属性 keyProperty 属性 keyColumn 属性 selectKey ...

  4. ibatis实战之插入数据(自动生成主键)

    ibatis实战之插入数据(自动生成主键) --------- 如果你将数据库设计为使用自动生成的主键,就可以使用ibatis的<selectKey>元素(该元素是<insert&g ...

  5. 在MySQL或者SQLServer中,添加对象后自动返回主键到对象模型中的配置方式

    设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中.MySQL和SQLServer执行auto-generated key fiel ...

  6. 踩坑记-java mysql 新增获取主键、DIY主键、UUID

    java mysql 获取主键.DIY主键.UUID,简单粗暴,代码如下: mapper.xml insert id="add" parameterType="com.x ...

  7. mybatis添加信息自动生成主键

    一.使用Oracle数据库 举例:添加员工的时候自动生成主键 1.在dao接口中声明方法 2.在mapper中实现该方法 需要先在数据表中创建序列 3.测试 注意:在调用过save方法之后,emp对象 ...

  8. Python3+SQLAlchemy不使用字段名获取主键值教程

    一.说明 1.1 环境说明 user model如下,且其现有一个实例user_inst: class User(Base): __tablename__ = 'users' username = C ...

  9. hibernate向mysql插入数据后,得到该条数据主键的方法

    hibernate向MySQL插入一条数据后,得到该条数据主键的方法.主键是自增长的. 保存完成后,直接用该实体的getId的方法就可以得到.因为保存完成后,hibernate会自动将id赋值给实体. ...

随机推荐

  1. Python 爬虫 (四)

    requests: 练手 雪qiu网 import requests import json import re import pymysql url = 'https://xueqiu.com/v4 ...

  2. 472. Concatenated Words

    class Solution { public: vector<string> res; vector<string> findAllConcatenatedWordsInAD ...

  3. PTA基础编程题目集7-1厘米换算英尺英寸

    如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048.现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸 ...

  4. python3 urllib爬取wallhalla网站图片

    点我去我的github上看源码 简单使用静态方法爬取https://wallhalla.com/网站的图片 参考: https://blog.csdn.net/cquptcmj/article/det ...

  5. python 字符串拼接效率打脸帖

    https://www.cnblogs.com/chenjingyi/p/5741901.html 这篇博客写的好,字符串并不是+ 效率就一定比 "%" % ('a') 就低. 按 ...

  6. MySQL日期比较

    假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: select * from product where add_time = '2013-0 ...

  7. Spring全局变量

    压测spring框架的webservice接口,大并发量下响应值与预期值不一致 经查,开发在类中使用全局变量导致: springmvc核心控制器DispatcherServlet 默认为每个contr ...

  8. Android intel X86 图像渲染

    最近几天有个项目需要在intel 芯片的系统上集成我们的视频通话软件.之前只是在ARM平台上使用,对于intel 没测试过,直接运行apk后,本端渲染的图像出错,渲染出的图像很像I420被作为RGB5 ...

  9. 博客美化—添加萌萌的live2D看板娘(不能再简单了)

    看着很多博客都有live2D的萌萌哒看板娘,我闲着有空说干就干. 从参考博客的附件中下载资源文件 waifu.css waifu-tips.js live2d.js flat-ui.min.css// ...

  10. leetcode-峰值检测

    寻找峰值     峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引. 数组可能包含多个峰值,在这种情况下,返回 ...