分三层

第一章

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的执行。

Mybatis初步认识的更多相关文章

  1. Mybatis初步详细配置

    1.Mybatis所需包 下载地址:https://github.com/mybatis/mybatis-3/releases,其中log4j是日志包,mysql是数据库所需包,需自行下载 2.项目结 ...

  2. mybatis 初步使用(IDEA的Maven项目, 超详细)

    目录 创建 Maven 项目 Maven配置 pom.xml 创建数据库 配置Mybatis 配置mybatis的XML文件 创建实体类和对应的Mapper.xml 测试 源码 @ 创建 Maven ...

  3. mybatis初步理解

    mybatis概念   mybatis 是一款轻量级的orm的数据持久框架,封装jdbc 对开发提供了便利,但是性能会比jdbc低,从开发的角度来说,现在是比较流行的 掌握上比较容易,也支持缓存,级联 ...

  4. Spring 14: Spring + MyBatis初步整合开发

    SM整合步骤 预期项目结构 新建数据库和数据表 springuser.sql脚本如下 create database ssm; use ssm; create table users( userid ...

  5. mybatis初步配置容易出现的问题

    The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You ...

  6. mybatis 缓存的使用, 看这篇就够了

    目录 1 一级缓存 1.1 同一个 SqlSession 1.2 不同的 SqlSession 1.3 刷新缓存 1.4 总结 2 二级缓存 2.1 配置二级缓存 2.2 使用二级缓存 2.3 配置详 ...

  7. mybatis源码-解析配置文件(三)之配置文件Configuration解析

    目录 1. 简介 1.1 系列内容 1.2 适合对象 1.3 本文内容 2. 配置文件 2.1 mysql.properties 2.2 mybatis-config.xml 3. Configura ...

  8. mybatis源码-解析配置文件(二)之解析的流程

    目录 1. 简介 2. 配置文件解析流程分析 2.1 调用 2.2 解析的目的 2.3 XML 解析流程 2.3.1 build(parser) 2.3.2 new XMLConfigBuilder( ...

  9. mybatis源码-解析配置文件(一)之XML的DOM解析方式

    目录 简介 Java 中 XML 文件解析 解析方式 DOM 解析 XML 新建 XML 文件 DOM 操作相关类 Java 读取 XML 文件 一起学 mybatis @ 简介 在之前的文章< ...

随机推荐

  1. inceptor es表插入成功,返回报错you should set transaction.type before any DCL statement

    在finebi下用星环的连接驱动去写inceptor es表,发现插入能成功,但是返回一个报错: Caused by: java.sql.SQLException: Error to commit. ...

  2. for循环实现的一些小例子

    1.1-10阶乘和 package HELLO; public class exercise5 { /** 1-10阶乘和 */ public static void main(String[] ar ...

  3. 最短Hamilton路径(状压dp)

    最短Hamilton路径实际上就是状压dp,而且这是一道作为一个初学状压dp的我应该必做的题目 题目描述 给定一张 n(n≤20) 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 ...

  4. Educational Codeforces Round 87 (Rated for Div. 2) D树状数组加二分删除的值

    Sample Input 5 4 1 2 3 4 5 -5 -1 -3 -1 Sample Output 3 思路,首先发现a[i]的值的范围是在1~n之间,每次插入我们可以直接把cnt[a[i]]+ ...

  5. 【noi 2.6_3531】判断整除(DP)

    题意:给一个正整数数列,可将其相加或相减,问是否有一个结果能被K整除. 解法:似上一题"糖果"的状态定义,f[i][j]表示是否有一个选了前 i 个数的结果模K余j. P.S. 可 ...

  6. Bézout恒等式

    写在前面: 记录了个人的学习过程,同时方便复习 整理自网络 非原创部分会标明出处 目录 结论 证明 拓展 n个整数间 拓展欧几里得算法 拓展欧几里得算法的多解 结论 (Bézout / 裴蜀 / 贝祖 ...

  7. hdu5375 Gray code

    Problem Description The reflected binary code, also known as Gray code after Frank Gray, is a binary ...

  8. 洛谷 P5057 [CQOI2006]简单题 (树状数组,位运算)

    题意:有一个长度为\(n\)的数组,进行\(m\)次操作,每次读入一个值\(t\),如果\(t=1\),则将区间\([l,r]\)的数字反转,若\(t=2\),则查询下标为\(i\)的值. 题解:树状 ...

  9. AWS注册到连接

    1. 注册AWS账号 https://www.cnblogs.com/cmt/p/13912814.html 2.注册完成之后,选择实例 Ubuntu,下载xxx.pem文件,查看实例得到ip 比如我 ...

  10. Dapr是如何简化微服务的开发和部署

    基于微服务设计模式的现代应用程序面临着一系列挑战.微服务需要有一个强大的服务发现机制来实现动态连接.它们需要松散耦合,实现自主性和独立缩放.微服务需要支持多种语言,其中每个服务都是以最合适的语言.框架 ...