使用jdbc操作Oracle常犯错误 ╰半橙微兮° 2022-05-28 04:28 146阅读 0赞 最近在新电脑上装了oracle,想通过java访问数据库,平时在工作中这些其实都是非常简单的操作,但是等到自己亲自操作发现手生了,以下是对此次操作的总结,也在网上收集了一些注意事项。也警惕以后写代码不要养成惯性思维. (1)保证用户名、密码正确性 (2)保证访问的表数据commit,否则查询回来数据为空,针对这个问题可通过rs.next()查看 (3)关闭连接不要第一步就close掉con,最好从结果集rs,执行环境st,再到con.不然你会发现意想不到错误 1.建立连接 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.LinkedList; public class Pool { //初始化一下:创建10个链接放入连接池 private static String driver = "oracle.jdbc.driver.OracleDriver"; private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; private static String user = "system"; private static String password = "Qwei520llx"; public static void main(String[] args) { try { getConnection(); System.out.println("获取数据库连接成功"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //定义一个链表来保存10个链接 private static LinkedList<Connection> dataSource = new LinkedList<>(); static{ try{ //注册驱动 Class.forName(driver); System.out.println("加载驱动成功"); for(int i=0;i<10;i++){ dataSource.add(DriverManager.getConnection(url, user, password)); } System.out.println("得到10条链接"); }catch(Exception ex){ ex.printStackTrace(); } } public static Connection getConnection() throws SQLException { // 表示从连接池中获取链接 if(dataSource.size() > 0){ //有链接,这里返回的链接是真正的对象,现在返回一个代理对象,并且重写close方法 return dataSource.removeFirst(); }else{ throw new SQLException("系统忙,请稍后......"); } } //释放数据库资源(导jar包) public static void release(Connection con,Statement st,ResultSet rs){ if(st != null){ try { st.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ st = null; } } if(rs != null){ try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ rs = null; } } if(con != null){ try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ con = null; } } } } 2.测试类 import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; public class PoolTest { public static void main(String[] args) { String sql = "select * from emp"; Connection con= null; Statement st = null; ResultSet rs = null; try { //获取连接 con=Pool.getConnection(); System.out.println("获取到链接"); //得到sql运行环境 st=con.createStatement(); //执行sql rs=st.executeQuery(sql); System.out.println(rs.next()); while(rs.next()){ String name = rs.getString("name"); int sal = rs.getInt("score"); System.out.println(name+"\t"+sal); } }catch (Exception e){ e.printStackTrace(); }finally{ //关闭顺序不能先关con Pool.release(con, st, rs); } } \} 3.返回结果 加载驱动成功 得到10条链接 获取到链接 true 张三55 李四90 王五67
相关 实战经验:Java常犯的集合操作错误 在Java编程中,处理集合(如List、Set等)时,常见的错误包括: 1. **类型不匹配**: 当你试图向已知类型的集合添加元素时,如果提供的类型与集合的实际类型不 系统管理员/ 2024年09月17日 19:48/ 0 赞/ 7 阅读
相关 初级Java程序员常犯的集合操作错误 作为初学者,Java集合操作过程中常见的错误包括但不限于以下几个方面: 1. **类型不匹配**: 集合操作通常需要将某种类型的数据放入或从中取出。如果数据类型的定义与 我会带着你远行/ 2024年09月17日 19:06/ 0 赞/ 12 阅读
相关 Java初学者常犯的集合操作错误案例 作为Java初学者,常见的集合操作错误主要有以下几种: 1. 集合类型不匹配: ```java List<String> list = new ArrayList<>(); 冷不防/ 2024年09月11日 13:48/ 0 赞/ 17 阅读
相关 Java新手常犯错误:集合操作理解偏差 作为Java新手,对集合操作的理解确实可能存在一些偏差。以下是一些常见的误区: 1. **忽视类型检查**:在使用集合操作时,如果操作对象的类型不匹配,程序会抛出异常。新手往 落日映苍穹つ/ 2024年09月10日 18:33/ 0 赞/ 21 阅读
相关 JDBC数据库操作易犯错误:更新、删除SQL语句 确实,JDBC(Java Database Connectivity)在进行更新和删除数据库记录时,容易出现一些常见的错误。下面列举了一些常见问题: 1. **SQL语法错误 女爷i/ 2024年09月10日 02:18/ 0 赞/ 11 阅读
相关 使用jdbc操作Oracle常犯错误 最近在新电脑上装了oracle,想通过java访问数据库,平时在工作中这些其实都是非常简单的操作,但是等到自己亲自操作发现手生了,以下是对此次操作的总结,也在网上收集了一些注意 ╰半橙微兮°/ 2022年05月28日 04:28/ 0 赞/ 147 阅读
相关 常犯错误 [2019独角兽企业重金招聘Python工程师标准>>> ][2019_Python_] ![hot3.png][] 1. 使用类内函数不先创建对象,导致编译时出现非法调用n 喜欢ヅ旅行/ 2022年01月14日 20:47/ 0 赞/ 174 阅读
还没有评论,来说两句吧...