1.软件开发的三层架构
java提出分层开发(经典三层架构)
- 表示层:与用户进行交互的组建或容器。SpringMVC/Strus2/Action
- 业务逻辑层:由业务逻辑组件构成。 service/SpringFranmework
- 数据持久层:实现与数据库直接交互。dao Mybatis/Hibernate/Jdbc Template
2.什么是框架
- 将重复性的,繁琐的代码封装起来的一套程序,使程序员更加专注于业务的开发和理解。免去很多复杂的东西,更专注业务的撰写。
- 好处:简化开发
屏蔽细节
提高开发效率
3.传统的jdbc的不足之出
- 驱动注册和连接获取硬编码问题 (配置文件)
- 赋值和结果封装繁琐 (反射 orm)
- 频繁打开和释放连接消耗资源( 连接池 )
4.什么是MyBatis
- 官网: http://www.mybatis.org/mybatis-3
- MyBatis 是一款优秀的持久层框架
- MyBati需要关注sql,输入参数和输出结果映射
- MyBatis是一个orm框架
orm:对象关系映射。解决面向对象编程模型和关系型数据库模型之间的映射问题。
5.Mapper代理实现dao的开发
要求
- mapper接口和mapper映射同包同名(注册映射方便)
- mapper映射文件的namespace和接口完全限定名保持一致
- 标签的id和方法名保持一致
- 标签输入参数类型和方法的参数类型一致
- 标签的输出结果类型和方法的返回值类型一致
高级映射
- 一对多:
- resultType特点:
- 结果集中字段名称和类属性名称完全一致,此时映射成功
- 结果集中字段名称和类属性名称部分一致,部分映射成功
- 结果集中字段名称和类属性名称不一致,此时不创建对象
- 一对多