原生JDBC开发详解及问题总结(一)
来源:互联网 发布:淘宝中差评修改步骤 编辑:程序博客网 时间:2024/06/05 08:14
原生JDBC开发详解及问题总结(一)
本篇文章主要介绍JDBC开发过程,程序代码需要注意的问题及原生JDBC自身存在的问题总结。
JDBC基本编程步骤
- 加载数据库驱动
- 创建并获取数据库连接
- 创建JDBC statement对象或者preparedStatement预编译对象
- 设置sql语句
- 设置sql语句中的参数(使用preparedStatement时使用)
- 通过statement对象获取结果集(resultSet)
- 使用结果集resultSet的getString等方法获取查询结果
- 释放资源,从建立对象的反方向释放(resultSet,prepareStatement/Statement,Connection)
JDBC问题总结
1.数据库连接,使用时就创建,不使用时就立即释放,对数据库进行频繁连接开启和关闭,造成资源浪费,影响数据库性能。
设想:使用数据库连接池管理数据库连接。
2.将数据库硬编码到Java代码中,如果sql语句修改,需要重新编译Java代码,不利于维护。
设想:将sql语句配置在xml配置文件中。
3.向preparedStatement中设置参数,对占位符号设置和设置参数,硬编码在Java代码中,不利于系统维护。
设想:将sql语句及占位符和参数全部配置在xml中。
4.从resultSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,不利于系统维护。
设想:将查询的结果集,自动映射成Java对象。
5.需对JDBC编程可能产生的异常进行捕捉处理并正确关闭资源。
设想:采用ORM模型
以下是JDBC创建的基础程序代码:
public static void main(String[] args) { ResultSet re = null; Statement st = null; Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/Newdata","root","12345678");//创建数据库连接 //获取Statement st = conn.createStatement(); //statement执行sql语句获得结果集 re = st.executeQuery("select * from students"); while(re.next()) { System.out.println(re.getString("name")+" "+re.getInt("age")+" "+re.getString("sports")); }//遍历查询出的结果 } catch(ClassNotFoundException ex) { ex.printStackTrace(); } catch (SQLException e) { System.out.println("get a error"); e.printStackTrace(); } finally { //关闭资源 try { if(re!=null) re.close(); re = null; if(st!=null) st.close(); st = null; if(conn!=null) conn.close(); conn = null; } catch(SQLException ex) { ex.printStackTrace(); } }}
阅读全文
1 0
- 原生JDBC开发详解及问题总结(一)
- JDBC详解及总结
- Mybatis学习笔记(一)【对原生jdbc程序中的问题总结】
- JDBC原生态开发的过程及问题总结
- 原生JDBC连接总结
- 原生JDBC开发步骤
- 原生JDBC中存在的主要问题总结
- jdbc详解(一)
- 详解JDBC(一)
- JDBC 详解 (一)
- JavaSE视频学习阶段性总结 一(java入门,原生数据类型及使用注意,运算符)
- JDBC学习01-JDBC开发步骤及API详解(IntelliJ IDEA)
- jdbc学习总结(一)
- JDBC技术总结(一)
- JDBC技术总结(一)
- 对原生态jdbc(单独使用jdbc开发)问题总结
- Win8 DirectX 开发问题总结(一)
- 手机网页开发问题总结(一)
- ASP注入小白教程
- Jdk及jre,jvm等基础知识
- Label的使用
- Android之RecyclerView控件的简单运用
- Git 版本回滚命令
- 原生JDBC开发详解及问题总结(一)
- CC_SYNTHESIZE的使用
- String判断是否为空注意问题
- opencv机器学习
- PHP常用正则实例
- Fragment异常:Can not perform this action after onSaveInstanceState
- 华为手机打开日志开关
- java 中使用ScriptEngine执行javascript脚本代码和使用中应该注意的事项
- Installation failed with message Failed to establish session. It is possible that this issue is reso