1.三层架构
    界面层:接受用户参数,显示处理结果
    业务逻辑层:接受界面层数据,逻辑计算,调用数据库
    数据访问层:访问数据库,执行增删改查
    2.三层的包
    界面层:controller(servlet)
    业务逻辑层: service
    数据访问层: dao
    3.类的交互
    用户界面—->业务逻辑层—->数据访问层—->数据库
    4.框架
    界面层 springMVC
    业务逻辑层 spring
    数据访问层 mybatis
    mybatis的功能:
    1.提供创建Connection,Statement,ResultSet的能力
    2.提供执行sql的能力
    3.提供了循环sql将sql转为java对象,List集合的能力
    4.提供关闭资源能力(与第一条呼应)
    在mybatis的基础下,开发人员需要做的是:
    提供sql语句
    配置mybatis的过程模板:
    1.新建student表
    2.加入maven的mybatis坐标,mysql驱动坐标
    3.创建类Student
    4.创建StudentDao接口
    5.创建sql映射文件
    叫做sql映射文件:写sql语句。一般一个表一个sql映射文件,类型是xml
    6.创建mybatis的主配置文件
    每个项目只有一个主配置文件
    提供数据库的连接信息和sql映射文件的位置信息
    7.创建使用mybatis类
    通过mybatis访问数据库
    **
    对第5步的解释:
    xml文件样例:
    <?xml version=”1.0” encoding=”UTF-8” ?>
    <!DOCTYPE mapper
    PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN”
    http://mybatis.org/dtd/mybatis-3-mapper.dtd">



    解释:
    :根标签,必须有
    :命名空间,唯一值的,可以自定义字符串
    特定的标签可以对数据库做特定操作:




    select from student

    **
    动态sql:sql的内容是变化的,主要是where部分的变化,使用mybatis提供的标签,,,


    解决多个if会出现的sql语句报错问题


    #{自定元素名(如果是对象的话,要用对象.属性名)}

    *
    sql语句复用

    select from student

    当要使用时:

    **

    jdbc.properties要会使用
    在mybatis.xml中

    *
    package要会用
    在mybatis.xml中

    可以得到dao下的所有dao.xml
    *
    分页
    1>导入pagehelper
    2>mybatis.xml中加入plugin
    之前加入



    3>在进行dao.query()之前,先PageHelper.startPage(第?页,每页大小)