牡丹江地区做网站的公司深圳我的网站
news/
2025/10/5 4:32:21/
文章来源:
牡丹江地区做网站的公司,深圳我的网站,音乐网站 模板,网页设计作业及答案参考链接#xff1a; Java在竞争性编程中的快速I/O
第1章 框架概述
1.1 什么是框架
1.1.1 什么是框架
框架#xff08;Framework#xff09;是整个或部分系统的可重用设计#xff0c;表现为一组抽象构件及构件实例间交互的方法;另一种定义认为#xff0c;框架是可被…参考链接 Java在竞争性编程中的快速I/O
第1章 框架概述
1.1 什么是框架
1.1.1 什么是框架
框架Framework是整个或部分系统的可重用设计表现为一组抽象构件及构件实例间交互的方法;另一种定义认为框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。
简而言之框架其实就是某种应用的半成品就是一组组件供你选用完成你自己的系统。简单说就是使用别人搭好的舞台你来做表演。而且框架一般是成熟的不断升级的软件。
1.1.2 框架要解决的问题
框架要解决的最重要的一个问题是技术整合的问题在 J2EE 的 框架中有着各种各样的技术不同的软件企业需要从 J2EE 中选择不同的技术这就使得软件企业最终的应用依赖于这些技术技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件企业的核心是竞争力的关键所在因此应该将应用自身的设计和具体的实现技术解耦。这样软件企业的研发将集中在应用的设计上而不是具体的技术实现技术实现是应用的底层支撑它不应该直接对应用产生影响。
框架一般处在低层应用平台如 J2EE和高层业务逻辑之间的中间层。
1.1.3 软件开发的分层重要性
框架的重要性在于它实现了部分功能并且能够很好的将低层应用平台和高层业务逻辑进行了缓和。为了实现软件工程中的“高内聚、低耦合”。把问题划分开来各个解决易于控制易于延展易于分配资源。我们常见的 MVC 软件设计思想就是很好的分层思想。 通过分层更好的实现了各个部分的职责在每一层将再细化出不同的框架分别解决各层关注的问题。
1.1.4 分层开发下的常见框架
常见的 JavaEE 开发框架 1、解决数据的持久化问题的框架
1.1.5 MyBatis 框架概述
mybatis 是一个优秀的基于 java 的持久层框架它内部封装了 jdbc使开发者只需要关注 sql 语句本身 而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。
mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来并通过 java 对象和statement 中sql 的动态参数进行映射生成最终执行的 sql 语句最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。
采用 ORM 思想解决了实体和数据库映射的问题对 jdbc 进行了封装屏蔽了jdbc api 底层访问细节使我们不用与 jdbc api 打交道就可以完成对数据库的持久化操作。
为了我们能够更好掌握框架运行的内部过程并且有更好的体验下面我们将从自定义 Mybatis 框架开始来学习框架。此时我们将会体验框架从无到有的过程体验也能够很好的综合前面阶段所学的基础。
1.2 JDBC 编程的分析
1.2.1 jdbc 程序的回顾
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?characterEncodingutf-8, ro ot, root); //定义 sql 语句 ?表示占位符 //获取预处理 statement preparedStatement connection.prepareStatement(sql); //设置参数第一个参数为 sql 语句中参数的序号从 1 开始第二个参数为设置的 preparedStatement.setString(1, 王五); //向数据库发出 sql 执行查询查询出结果集 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) { // TODO Auto-generated catch block e.printStackTrace(); } } } } 上边使用 jdbc 的原始方法未经封装实现了查询数据库表记录的操作。
1.2.2 jdbc 问题分析
1、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能如果使用数据库链接池可解决此问题。 2、Sql 语句在代码中硬编码造成代码不易维护实际应用 sql 变化的可能较大sql 变动需要改变 java代码。 3、使用 preparedStatement 向占有位符号传参数存在硬编码因为 sql 语句的 where 条件不一定可能多也可能少修改 sql 还要修改代码系统不易维护。 4、对结果集解析存在硬编码查询列名sql 变化导致解析代码变化系统不易维护如果能将数据库记录封装成 pojo 对象解析比较方便。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927859.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!