JDBC无封装下的标准代码和JDBC问题总结-V1.0
来源:互联网 发布:asp通用查询系统源码 编辑:程序博客网 时间:2024/06/02 02:43
jdbc问题总结如下
数据库【连接创建、释放频繁】造成系统资源浪费,从而影响系统性能。解决方式:使用【数据库连接池】可解决此问题。
【Sql语句】在代码中【硬编码】,造成代码不易维护,在实际应用中sql语句可能经常发生变化,sql变动需要改变文件下的java代码。
使用预编译声明【preparedStatement】向【占位符传参】存在【硬编码】,因为sql语句的where条件不一定,?数量可能多也可能少,对应位置也可能变化,修改sql后还要修改对应代码,系统不易维护。
对【结果集】解析存在【硬编码】,sql变化导致解析代码变化,系统不易维护,如果能将【数据库记录封装成pojo对象】解析相对比较方便。
JDBC无封装下的标准代码
public static void main(String[] args) { Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null;try { // 加载数据库连接驱动 Class.forName("com.mysql.jdbc.Driver"); // 通过DriverManager驱动管理类获取数据库连接【问题一】 connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc_project?characterEncoding=utf-8", "root", "root"); // 定义sql语句 ?表示占位符【问题二】 String sql="select * from tb_user where username=?"; // 获取预处理statement pstmt= conn.prepareStatement(sql); // 设置参数,第一个参数为sql语句中占位符的序号(从1开始),第二个参数为设置的参数值【问题三】 pstmt.setString(1, "王五"); // 向数据库发出sql执行查询,查询出结果集【问题四】 rs= pstmt.executeQuery(); // 遍历查询结果集 while (rs.next()) { System.out.println(rs.getString("id") + " " + rs.getString("username")); } } catch (Exception e) { e.printStackTrace(); } finally { // 释放资源 if (rs!= null) { try { rs.close(); } catch (Exception e) { e.printStackTrace(); } } if (pstmt!= null) { try { pstmt.close(); } catch (Exception e) { e.printStackTrace(); } } if (conn!= null) { try { conn.close(); } catch (Exception e) { e.printStackTrace(); } } } }
阅读全文
0 0
- JDBC无封装下的标准代码和JDBC问题总结-V1.0
- 自己封装的jdbc代码
- 不同服务器的配置信息和jdbc代码封装
- JDBC的效率问题研究和总结
- java JDBC数据库连接封装和实例代码
- jdbc代码封装
- JDBC中关于封装和读取配置文件properties的问题
- JDBC获取连接的三种工具类封装方式(v1.0)
- 使用JDBC连接数据库的标准代码
- 标准的JDBC数据库连接代码(面试)
- jdbc出现的问题总结
- JDBC的封装
- JDBC 的封装
- Jdbc的普通封装
- JDBC的封装类
- JDBC的封装
- JDBC使用方法的封装
- JDBC连接的封装
- python读写excel文件
- 【Linux学习笔记】15:挂载命令
- python 学习2
- JavaScript学习笔记(DOM脚本)
- 第二章 selenium动态网页请求和模拟jobbole登陆
- JDBC无封装下的标准代码和JDBC问题总结-V1.0
- web学习笔记19-静态代理,动态代理,spring AOP
- java OutOfMemoryError异常
- ch3 栈和队列
- 【js基础】js事件对象学习笔记
- 排序算法之选择排序
- 机器学习笔记(五)----神经网络的学习(Neural Networks: Learning)
- [BZOJ4945][NOI2017]游戏(2-SAT)
- mybatis where 条件为list集合处理