Mybatis初步认识
分三层
第一章
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的执行。
最新文章
- 获取html 中的内容 将前台的数据获取到后台
- SpringMVC学习笔记(二)
- 最小生成树---Kruskal/Prime算法
- Emmet 的使用
- LoadRunner报26612错误的解决方案
- dp状态压缩-铺砖问题
- Hibernate之HQL
- MicroPython实例之TPYBoard开发板控制OLED显示中文
- ExternalException (0x80004005): 无法执行程序
- Nginx代理与负载均衡
- 【发布iCore3&;iCore4ADM资料】
- 解决Android Studio无法下载sdk的问题
- C# 对接Https接口
- TL-WN725N v2.0 树莓派驱动
- Linux内存管理中的slab分配器
- mybatis缓存有关的设置和属性
- ubuntu15.10下code::blocks设置运行窗口为gnome命令行
- Transcation And Lock--SQL SERVER 事务隔离级别
- aspxgridview只编辑某一列然后更新
- 下载Instagram的图片
热门文章
- 2019 Multi-University Training Contest 7 Kejin Player(期望)
- windows10与linux进行ftp遇到550 Failed to change directory及553 Could not creat file
- Codeforces Round #634 (Div. 3)
- 【noi 2.7_7219】复杂的整数划分问题(算法效率)
- Codeforces Round #555 (Div. 3) E. Minimum Array (贪心,二分,set)
- 2017, X Samara Regional Intercollegiate Programming Contest B.Pursuing the Happiness (string函数)
- vs2017创建文件模板(自动添加创建信息:创建者,创建日期等信息)
- Jenkins 持续集成测试工具
- Navicat 快捷键 for Mysql
- C++构造函数、复制函数易错点