软件开发常用结构
1、三层架构
界面层:和用户打交道的,接受用户的请求参数,显示处理结果的。(jsp、html、servlet)。
controller包(servlet)-----> springmvc框架
业务逻辑层:接受了页面层传递的数据,计算逻辑,调用数据库,获取数据。
service包(XXXService类)-------> spring框架
数据访问层:就是访问数据库,执行对数据的查询、修改、删除等等的。
dao包(XXXDao类)------> mybatis框架
三层中类的交互
用户界面层----> 业务逻辑层---->数据访问层(持久层)----->数据库(mysql)
2、框架
框架是一个舞台,一个模板
模板:
- 规定好了一些条款、内容。
- 加入自己的东西
框架是一个模板
- 框架中定义了一些功能。这些功能是可用的。
- 可以加入项目中自己的功能,这些功能可以利用框架中写好的功能。
框架是一个软件,半成品的软件,定义好了一些基础功能,需要加入你的功能就是完整的。基础功能是可以重复使用的,可升级的。
框架特点:
- 框架一般不是全能的,不能做所有事情。
- 框架是针对某一个领域有效。特长在某一个方面,比如mybatis做数据库操作强,但是他不能做其他的。
- 框架是一个软件
3、mybatis框架
一个框架,早期叫做ibatis,代码在github。mybatis是MyBatis SQL Mapper Framework for Java(sql映射对象)
1)sql mapper :sql映射,可以把数据库中的一行数据映射成为一个java对象。操作这个对象,就相当于操作表中的数据。
2)Data Access Objects(DAOs):数据访问,对数据库执行增删改查
mybatis提供了哪些功能:
1、提供了创建Connection、Statement、ResultSet的能力,不用开发人员创建这些对象了。
2、提供了执行sql语句的能力,不用你执行sql
3、提供了循环sql,把sql的结果转为java对象、List集合的能力
4、提供了关闭资源的能力,不用你关闭Connection、Statement、Resultset
5、开发人员要做的是:提供sql语句-----开发人员得到List集合或java对象(表中的数据)
总结:mybatis是一个sql映射框架,提供的数据库的操作能力,增强的jdbc,使用mybatis让开发人员集中精神写sql就可以了,不必关心Connection、Statement、Resultset的创建、销毁、sql 的执行。