jdbc:mysql和oracle插入一条数据返回主键
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,package org.sin.common.dao;import java.sql.CallableStatement;import java.sql.Connection;import java.
千家信息网最后更新 2024年11月11日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安全错误
数据库的锁怎样保障安全
管家婆数据库问题
大兴区综合软件开发好处
艾泽服务器
国内外软件开发大事
工业网络技术考试论文
数据库的筛选方式
服务器上的时间轴
卡拉赞 服务器
企业网络安全解决方案内容
绵阳网络技术公司
部落战争服务器不能连接
okex无法获取服务器信息
农发行国家网络安全周新闻
软件开发项目经理讲话
淄川文件审批软件开发
贺兰软件开发
全球网络安全概念
软件开发要学什么编程
网络安全类股票涨幅
vb2010 数据库开发
闽江学院网络技术与信息处理
浙江教育 网络安全
计算机网络技术能就业的行业职位
数据库,同一字段的值分开
软件开发驻场设计需要准备
数据库服务器更换ip
软件开发算发明吗
数据库的工作是做什么
数据库表增加注释
常熟无忧网络技术专业服务