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(第?页,每页大小)