## SSM框架第9天Mybatis第1天课堂笔记
### 1 spring mvc重点知识回顾
- spring与web集成
- 导入坐标(spring-web.jar)
- 配置监听器
- 配置全局参数:applicationContext.xml
- springmvc的执行流程
- springmvc配置步骤:
- 导入坐标
- 在web.xml中配置DispathcerServlet
- 编写Contoller
- 使用@RequestMapping配置访问路径
- 编写视图
- 在spring-mvc.xml中配置视图解析器,扫描contoller
- 完成测试
- springmvc请求和响应:
- 响应:
- 页面跳转(默认)
- 直接返回字符串
- 返回ModelAndView
- 回写数据
- @ResponseBody
- 直接返回字符串
- 返回集合和对象
- 让spring‘mvc帮我们转换为json字符串
- <annotatation-dirver/>
- 请求:
- key=value格式(默认)
- 基本类型
- pojo类型
- 数组类型
- 集合:表单提交集合
- json格式
- @RequestBody
- pojo类型{"username":zzz,age:12}
- 集合类型
- 文件格式
- 客户端三要素
- type=file
- post方式
- enctype="multipart/form-data"
- 服务器端步骤:
- 导入坐标
- 配置文件上传解析器
- 在方法中用MultiPartFile接收
- springmvc拦截器
- 作用
- 拦截目标方法
- 主要用于权限验证
- 配置步骤
- 编写一个类实现HandlerIntercepter接口
- preHandle():在目标方法执行前
- postHandle():在返回视图对象之前
- afterCompletion():视图对象返回后
- 在spring-mvc.xml中配置拦截器
- 测试
- springmvc异常处理
- 作用
- 减少收到try catch
- 统一的做一些操作:
- 返回一些错误信息的视图
- 记录日志
- 实现方式:
- 使用simpleExceptionResovler
- 配置xml
- 自定义异常处理器
- 实现HandlerExceptionResovler接口
### 2 今日目标
#### 2.1 能够理解并运用Mybatis的核心配置文件和映射配置文件
- Mybatis概念:
- 是一种持久层的框架
- Mybatis作用:
- 不需要关系连接创建,销毁等操作,只关注sql本身就可以了
- 可以讲入参和出参自动封装到具体的java对象中(很强)
- 解耦:将sql语句从java代码中解放,用xml配置文件完成sql编写,可读性良好
- 核心配置文件标签:
- environments defalut="" :数据源环境设置
- environment
- TransactionManager :JDBC
- dataSource:POOLED 使用的mybatis内置的数据源
- properties:引入properties配置文件
- resource
- typeAliases:设置别名
- mapper:加载映射文件
- resource:相对路径
- url:绝对路径
- class:设置映射类(注解开发Mybatis才使用)
- package:扫包
#### 2.2 能够理解Mybatis的相关API
- 加载核心配置文件:Resources
- 使用SqlSessionFactoryBuilder创建SqlSessionFactory
- 使用SqlSessionFactory创建SqlSession
- openSession() 默认不提交事务
- openSession(boolean autoCommit)
- SqlSession执行相关sql操作
- selectList("命名空间.id",参数对象)
- selectOne("命名空间.id",参数对象)
- update("命名空间.id",参数对象)
- insert("命名空间.id",参数对象)
- delete("命名空间.id",参数对象)
- commit()
- rollback()
#### 2.3能够完成Mybatis的快速入门Demo
- 步骤:
- 导入坐标(mybatis,mysql,junit)
- 创建表,实体对象
- 创建映射xml配置文件
- namespace:mapper文件的名字
- 配置sql语句
- 配置核心文件:sqlMapConfig.xml
- 配置数据源
- 加载映射文件,mapper
- 完成测试:
- 加载sqlMapConfig.xml
- 创建SqlSessionFactory
- 创建SqlSession
- 执行相关sql操作
- 增删改查操作
- 插入操作:
- <insert>
- 参数类型:paramterType="全限类名"
- 占位符:#{参数对象的属性}
- 获取插入后的数据的主键:
- ```
keyProperty="id" useGeneratedKeys="true"
```
### 3 上午总结
- Mybatis
- 概念:mybatis是一种持久层的框架
- 作用:
- 自关心sql本身的编写,不考虑数据源等的创建
- 解耦:把sql语句从java代码中解放,放在xml配置文件中,提高一个阅读性和便于修改
- 能够将入参和出参封装成java对象。
- 入门demo步骤:
- 导入坐标(mybatis,mysql,junit)
- 创建表和实体
- 编写映射文件userMapper.xml
- namesapce:命令空间
- id="findAll"
- select,insert,update,delete
- parameterType="全类名"
- ResultType="全类名"
- #{属性名}
- ```
keyProperty="id"
useGeneratedKeys =true
```
- 编写核心配置文件:sqlMapConfig.xml
- 数据源
- 加载mapper文件
- 编写测试类:
- 加载核心配置文件
- 获取SqlSessionFactory
- 获取SqlSession
- 执行操作:
- selectList("命名空间.id")
- 更新操作需要提交事务
|
|