Mybatis框架

软件开发常用结构

三层架构

三层架构包含的三层: 界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)

三层的职责

  • 1、界面层(表示层\视图层):主要功能是接受用户的数据,显示请求的处理结果。使用 web 页面和 用户交互,手机 app 也就是表示层的,用户在 app 中操作,业务逻辑在服务器端处理。

  • 2、业务逻辑层:接收表示传递过来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据。

  • 3、数据访问层(持久层):与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交 给业务层,同时将业务层处理的数据保存到数据库。

三层的处理请求的交互:

用户—>界面层—>业务逻辑层—>数据访问层—>DB数据库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7CcDnsLM-1614319290185)(C:\Users\flower\AppData\Roaming\Typora\typora-user-images\image-20210226134427200.png)]

为什么使用三层?

1,结构清晰、耦合度低, 各层分工明确

2,可维护性高,可扩展性高

3,有利于标准化

4,开发人员可以只关注整个结构中的其中某一层的功能实现

5,有利于各层逻辑的复用

常用框架

  • Mybatis框架

    MyBatis 是一个优秀的基于 java 的持久层框架,内部封装了 jdbc,开发者只需要关注 sql 语句本身,而不需要处理加载驱动、创建连接、创建 statement、关闭连接,资源等繁杂的过程。 MyBatis 通过 xml 或注解两种方式将要执行的各种 sql 语句配置起来,并通过 java 对象和 sql 的 动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。

  • Spring框架

    Spring 框架为了解决软件开发的复杂性而创建的。Spring 使用的是基本的 JavaBean 来完成以前 非常复杂的企业级开发。Spring 解决了业务对象,功能模块之间的耦合,不仅在 javase,web 中使用, 大部分 Java 应用都可以从 Spring 中受益。 Spring 是一个轻量级控制反转(IoC)和面向切面(AOP)的容器。

  • SpringMVC框架

    SpringMVC 框架 Spring MVC 属于 SpringFrameWork 3.0 版本加入的一个模块,为 Spring 框架提供了构建 Web 应用程序的能力。现在可以 Spring 框架提供的 SpringMVC 模块实现 web 应用开发,在 web 项目中 可以无缝使用 Spring 和 Spring MVC 框架。

框架的定义

框架定义

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种认为,框架是可被应用开发者定制的应用骨架、模板。 简单的说,框架其实是半成品软件,就是一组组件,供你使用完成你自己的系统。从另一个角度来 说框架一个舞台,你在舞台上做表演。在框架基础上加入你要完成的功能。 框架安全的,可复用的,不断升级的软件。

框架解决的问题

框架要解决的最重要的一个问题是技术整合,在 J2EE 的 框架中,有着各种各样的技术,不同的应用,系统使用不同的技术解决问题。需要从 J2EE 中选择不同的技术,而技术自身的复杂性,有导致更大的风险。企业在开发软件项目时,主要目的是解决业务问题。 即要求企业负责技术本身,又要求解决业务问题。这是大多数企业不能完成的。框架把相关的技术融合在一起,企业开发可以集中在业务领域方面。 另一个方面可以提供开发的效率。

JDBC编程

代码示例

public void findStudent() {
 	Connection conn = null;
 	Statement stmt = null;
    ResultSet rs = null;
    try {
 		//注册 mysql 驱动
		 Class.forName("com.mysql.jdbc.Driver");
		 //连接数据的基本信息 url ,username,password
		 String url = "jdbc:mysql://localhost:3306/springdb";
		 String username = "root";
		 String password = "123456";
 		//创建连接对象
		 conn = DriverManager.getConnection(url, username, password);
		 //保存查询结果
		 List<Student> stuList = new ArrayList<>();
 		//创建 Statement, 用来执行 sql 语句
 		stmt = conn.createStatement();
 		//执行查询,创建记录集,
 		rs = stmt.executeQuery("select * from student");
		 while (rs.next()) {
			 Student stu = new Student();
			 stu.setId(rs.getInt("id"));
			 stu.setName(rs.getString("name"));
			 stu.setAge(rs.getInt("age"));
			 //从数据库取出数据转为 Student 对象,封装到 List 集合
			 stuList.add(stu);
			 }
 		} catch (Exception e) {
			 e.printStackTrace();
	    } finally {
 			try {
				 //关闭资源
                 if (rs != null) ;
 				{
					 rs.close();
				 }
 				if (stmt != null) {
 					stmt.close();
 				}
 				if (conn != null) {
 					conn.close();
 				}
 				} catch (Exception e) {
				 e.printStackTrace();
 				}
 			}
}

使用JDBC的缺陷

  1. 代码比较多,开发效率低
  2. 需要关注 Connection ,Statement, ResultSet 对象创建和销毁
  3. 对 ResultSet 查询的结果,需要自己封装为 List
  4. 重复的代码比较多些
  5. 业务代码和数据库的操作混在一起

Mybatis框架

MyBatis 框架:

MyBatis 本是 apache 的一个开源项目 iBatis, 2010 年这个项目由 apache software foundation 迁 移到了 google code,并且改名为 MyBatis 。2013 年 11 月迁移到 Github。 iBATIS 一词来源于“internet”和“abatis”的组合,是一个基于 Java 的持久层框架。iBATIS 提供的 持久层框架包括 SQL Maps 和 Data Access Objects(DAOs) 当前,最新版本是 MyBatis 3.5.1 ,其发布时间是 2019 年 4 月 8 日。

Mybatis框架解决的主要问题

减轻使用 JDBC 的复杂性,不用编写重复的创建 Connetion , Statement ; 不用编写关闭资源代码。 直接使用 java 对象,表示结果数据。让开发者专注 SQL 的处理。 其他分心的工作MyBatis 代劳。

MyBatis 可以完成:

  • 注册数据库的驱动,例如 Class.forName(“com.mysql.jdbc.Driver”))
  • 创建 JDBC 中必须使用的 Connection , Statement, ResultSet 对象
  • 从 xml 中获取 sql,并执行 sql 语句,把 ResultSet 结果转换 java 对象
  • 关闭资源 ResultSet.close() , Statement.close() , Conenection.close()

想要了解更多,欢迎来踩我的博客呀!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值