三层架构
表现层:展示数据
业务层:处理业务需求
持久层:和数据库交互
MyBatis:持久层框架
Spring:IoC(控制反转)和AOP(面向切面编程)
SpringMVC:表现层MVC框架
持久层技术解决方案
JDBC技术(规范)
- Connection
- PreparedStatement
- ResultSet
Spring的JdbcTemplate(工具类)
Apache的DBUtils(工具类)
MyBatis概述
MyBatis是一个持久层框架,用Java编写
封装了JDBC操作的很多细节,使开发者只需要关注SQL语句本身,而无需关注注册驱动、创建连接等繁杂过程
它使用了ORM思想实现了结果集等封装
ORM: Object Relational Mapping 对象关系映射
把数据库表和实体类、实体类的属性对应起来
MyBatis的入门
MyBatis环境搭建
- 创建Maven工程并导入坐标
- 创建实体类和dao的接口
- 创建MyBatis的主配置文件(SqlMapConfig.xml)
- 创建映射配置文件(IUserDao.xml)
环境搭建的注意事项:
- 创建IUserDao.xml和IUserDao.java时名称是为了和之前的知识保持一致。
在MyBatis中持久层的操作接口名称和映射文件也叫做Mapper。
所以IUserDao和IUserMapper是一样的。 - 在IDEA中创建目录时,创建方法和包不同。
包在创建时:com.akatsuki.dao是三层结构
目录在创建时,com.akatsuki.dao是一级目录 - MyBatis的映射配置文件位置必须和dao接口的包结构相同。
- 映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名。
- 映射配置文件的操作配置,id属性的取值必须是dao接口的方法名。
当我们遵从了第3~5点之后,在开发中就无须再写dao的实现类。