1.2 JDBC
编程的分析
1.2.1 jdbc
程序的回顾
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root", "root"); String sql = "select * from user where username = ?"; preparedStatement.setString(1, "王五"); resultSet = preparedStatement.executeQuery(); while(resultSet.next()){ System.out.println(resultSet.getString("id")+" "+resultSet.getString("username")); } } catch (Exception e) { e.printStackTrace(); }finally{ if(resultSet!=null){ try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } if(preparedStatement!=null){ try { preparedStatement.close(); } catch (SQLException e) { e.printStackTrace(); } } if(connection!=null){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
|
1.2.2 jdbc
问题分析
1、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题
2、Sql
语句在代码中硬编码,造成代码不易维护,实际应用sql
变化的可能较大,sql
变动需要改变java
代码。
3、使用preparedStatement
向占有位符号传参数存在硬编码,因为sql
语句的where
条件不一定,可能多也可能少,修改sql
还要修改代码,系统不易维护。
4、对结果集解析存在硬编码(查询列名),sql
变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo
对象解析比较方便。
本文标题:第一章 框架概述 第2节 JDBC编程的分析
文章作者:foreverSFJ
发布时间:2019-09-08 16:51:39
最后更新:2019-09-08 16:51:39
原始链接:Notes/Java/Persistence/Mybatis/01_02 JDBC编程的分析.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!