jdbc:mysql和oracle插入一条数据返回主键
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,package org.sin.common.dao;import java.sql.CallableStatement;import java.sql.Connection;import java.
千家信息网最后更新 2025年11月08日jdbc:mysql和oracle插入一条数据返回主键
package org.sin.common.dao;import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import oracle.jdbc.OracleTypes;import org.sin.domain.User;public class JDBCDao { private static boolean mysql = false; private Connection conn; static { try { if (mysql) { Class.forName("com.mysql.jdbc.Driver"); } else { Class.forName("oracle.jdbc.driver.OracleDriver"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } } private JDBCDao() { String url, user, password; if (mysql) { url = "jdbc:mysql://127.0.0.1:3306/cl"; user = "root"; password = ""; } else { url = "jdbc:oracle:thin:@localhost:1521:orcl"; user = "andy"; password = "root"; } try { conn = DriverManager.getConnection(url, user, password); System.out.println(conn.getAutoCommit()); } catch (SQLException e) { e.printStackTrace(); } } private User SaveUser(User user) { String sql = "insert into t_User(id,username,password) values(user_id.nextval,?,?)"; Long id = -1L; try { conn.setAutoCommit(false); PreparedStatement ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); int i = 0; for (i = 0; i < 10000; i++) { ps.setString(1, user.getUsername() + "-" + i); ps.setString(2, user.getPassword() + "-" + i); ps.executeUpdate(); ResultSet rs = ps.getGeneratedKeys(); while (rs.next()) { id = rs.getLong(1); System.out.println(">>>>>>>" + id); } } conn.commit(); } catch (SQLException e) { e.printStackTrace(); } user.setId(id); return user; } private User SaveUser2(User user) { String sql = "BEGIN insert into t_user(id,username,password) values(user_id.nextval,?,?) returning id into ?; END;"; Long id = -1L; try { conn.setAutoCommit(false); CallableStatement cs = conn.prepareCall(sql); for(int i=0;i<10000;i++){ cs.setString(1, user.getUsername() + "-" + i); cs.setString(2, user.getPassword() + "-" + i); cs.registerOutParameter(3, OracleTypes.NUMBER); cs.execute(); id = cs.getLong(3); } conn.commit(); } catch (SQLException e) { e.printStackTrace(); } user.setId(id); return user; } public static void main(String[] args) { JDBCDao dao = new JDBCDao(); Long start = System.currentTimeMillis(); User u = new User("andy", "andypwd"); dao.SaveUser2(u); Long end = System.currentTimeMillis(); System.out.println(u.getId() + "--" + u.getUsername()); Long k = end - start; System.out.println("消耗:" + k); }}
消耗
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术的图案
软件开发岗入职培训工资
如何创建数据库sql语言
无锡物资管理软件开发平台
教师嫁软件开发
我的世界服务器网易版推荐
班信网络技术有限公司
数据库安装网络监控
桌面共享软件开发的质量
黑客文化与网络安全期末测试答案
民政局网络安全领导小组
韶关信息网络安全培训哪里好
软件开发和硬件设计标准的定义
大学生网络安全技术实践报告
达梦数据库怎么汉化
金山区本地软件开发应用范围
主流数据库可视化管理工具
温州智能软件开发服务
云游戏服务器怎么调
疫情前的浪潮服务器的销量
安卓软件开发平台教程
怎么分辨服务器和主机内存条
资源库和资源数据库的区别
网络安全法 修改标题
上个月最后一天数据库
奉贤区管理软件开发联系方式
电子政务中数据库的作用
软件开发都包含什么
联想服务无法连接至服务器
镇召开网络安全工作会议