第一章
1.1
三层架构:
界面层:和用户打交道的,接收用户的请求参数,显示处理结果的。(jsp,html,servlet)
业务逻辑层:接收界面层传递的数据,计算逻辑,调用数据库,获取数据。
数据访问层:访问数据库,执行对数据的查询,修改,删除等。
三层对应的包
界面层:controller包(servlet)
业务逻辑层:service包(XXXService类)
数据访问层:dao包(XXXDao类)
三层中类的交互
用户使用界面层–>业务逻辑层–>数据访问层(持久层)–>数据库(mysql)
三层对应的处理框架
界面层—servlet—springmvc(框架)
业务逻辑层—service类—spring(框架)
数据访问层—dao类—mybatis(框架)
1.2
框架
框架是一个舞台,一个模版
模版:
1.规定好了一些条款,内容。
2.加入自己的东西。
框架是一个模块
1.框架中定义好了一些功能,这些功能是可用的。
2.可以加入项目中自己的功能,这些功能可以利用框架中写好的功能。
框架定义
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种认为,框架是可被应用开发者定制的应用骨架、模版。
简单地说,框架其实是半成品软件,就是一组组件,供你使用完成你自己的系统。从另一个角度来说框架是一个舞台,你在舞台上做表演。在框架基础上加入你要完成的功能。
框架是安全的,可复用的,不断升级的软件。
框架特点:
1.框架一般不是全能的,不能做所有事情
2.框架是针对某一个领域有效。特长在某一个方面,比如mybatis做数据库操作强,但是他不能做其他的。
3.框架是一个软件。
.3
使用jdbc的缺陷
1.代码比较多,开发效率低。
2.需要关注Connection,Statement,ResultSet对对象创建和销毁
3.对ResulSet查询的结果,需要自己封装为List
4.重复的代码比较多些
5.业务代码和数据库的操作混在一起
1.4
MyBatis框架缺陷
mybatis框架
一个框架,早期叫做ibatis,代码在github.
mybatis是MyBatis SQL Mapper Framework for Java (sql映射框架)
1)sql mapper:sql映射
可以把数据库表中的一行数据 映射为 一个java对象。
一行数据可以看做是一个java对象。操作这个对象,就相当于操作表中的数据
2) Data Access Object (DAOs) : 数据访问,对数据库执行增删改查。
mybatis提供了哪些功能:
1.提供了创建Connection,Statement,ResultSet的能力,不用开发人员创建这些对象了
2.提供了执行sql语句的能力,不用你执行sql
3.提供了循环sql,把sql的结果转为java对象,List集合的能力
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);
}
4. 提供了关闭资源的能力,不用你关闭Connection,Statement,ResultSet
开发人员做的是:提供sql语句
最后是:开发人员提供sql语句–mybatis处理sql—开发人员得到List集合或java对象(表中的数据)
总结:
mybatis是一个sql映射框架,提供的是数据库的操作能力。增强的JDBC,使用mybatis让开发人员集中精神写sql就可以了,不必关心Connection,Statement,ResultSet的创建,销毁,sql的执行。