分三层

第一章

1.三层架构

  界面层:和用户打交道,接收用户的请求参数明显是处理结果的(jsp,html,servlet)

  业务逻辑层:接收了界面层传递的数据,计算逻辑,调用数据库,获取数据

  数据访问层:就是访问数据库,执行对数据的查询,修改,删除等等的

  三层对应的包

  界面层:controller包(servlet)

  业务逻辑层:servlce包(XXXservlce类)

  数据访问层:dao包(XXXDao类)

  

  三层中类的的交互

    用户使用界面层-->业务逻辑层-->数据访问层(持久层)-->数据库(mysql)

  三层对应的处理框架

    界面层---servlet---springmvc(框架)

    业务逻辑层---service类---spring(框架) 1,2两个比较大 所以推荐先学习第三个

    数据访问层--dao类---mybatis(框架)

2,框架(Framework)

  框架是一个舞台,一个模板,

  模板:

    1.规定好了一些条款,内容。

·    2.加入自己的东西

  框架是一个模板

    1.框架中定义好了一些功能,这些功能是可用的

    2。可以加入项目中自己的功能,这些功能可以利用框架中写好的功能

  框架是一个软件,半成品的软件,定义好了一些基础功能,需要加入你的功能就是完整的,基础功能是可重复使用的,可升级的

  框架特点:

    1.框架一般不是全能的,不能做所有事情

    2. 框架是针对某一个领域有效,特长在一个方面,比如mybatis做数据库操作强,但是他不能做其他的

    3.框架是一个软件!

mabatis框架

  一个框架,早期叫做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"));

      stuList.add(stu);

  }

  4.提供了关闭资源的能力,不用你关闭Connection,Statement,Resultset

  开发人员做的是,提供sql语句(站在巨人的肩膀上哈哈哈哈哈)

  最后是开发人员提供sql语句--->mybatis处理sql--->开发人员得到List计集合或java对象(表中数据)

总结:mybatis是一个sql映射框架,提供的数据库的操作能力。增强的JDBC

使用mybatis让开发人员集中精神写sql就可以了,而不必关心Connection,Statement,Resultset等的创建,销毁,sql的执行。

最新文章

  1. 获取html 中的内容 将前台的数据获取到后台
  2. SpringMVC学习笔记(二)
  3. 最小生成树---Kruskal/Prime算法
  4. Emmet 的使用
  5. LoadRunner报26612错误的解决方案
  6. dp状态压缩-铺砖问题
  7. Hibernate之HQL
  8. MicroPython实例之TPYBoard开发板控制OLED显示中文
  9. ExternalException (0x80004005): 无法执行程序
  10. Nginx代理与负载均衡
  11. 【发布iCore3&iCore4ADM资料】
  12. 解决Android Studio无法下载sdk的问题
  13. C# 对接Https接口
  14. TL-WN725N v2.0 树莓派驱动
  15. Linux内存管理中的slab分配器
  16. mybatis缓存有关的设置和属性
  17. ubuntu15.10下code::blocks设置运行窗口为gnome命令行
  18. Transcation And Lock--SQL SERVER 事务隔离级别
  19. aspxgridview只编辑某一列然后更新
  20. 下载Instagram的图片

热门文章

  1. 2019 Multi-University Training Contest 7 Kejin Player(期望)
  2. windows10与linux进行ftp遇到550 Failed to change directory及553 Could not creat file
  3. Codeforces Round #634 (Div. 3)
  4. 【noi 2.7_7219】复杂的整数划分问题(算法效率)
  5. Codeforces Round #555 (Div. 3) E. Minimum Array (贪心,二分,set)
  6. 2017, X Samara Regional Intercollegiate Programming Contest B.Pursuing the Happiness (string函数)
  7. vs2017创建文件模板(自动添加创建信息:创建者,创建日期等信息)
  8. Jenkins 持续集成测试工具
  9. Navicat 快捷键 for Mysql
  10. C++构造函数、复制函数易错点