框架:软件开发解决方案,封装细节,实现功能,提高效率。
三层架构:表现层:展示数据、业务层:处理业务、持久层:数据库交互
持久层技术解决方案:JDBC是规范,JdbcTemplate和DButils只是工具类
mybatis:持久层框架,封装JDBC操作细节,关注sql语句本身
ORM思想实现结果集封装:Object Relational Mapping 对象关系映射
把数据库表和实体类及实体类属性对应起来,操作实体类实现操作数据库
入门
Mybatis环境搭建
1、创建maven工程导入坐标
2、创建实体类和dao接口
3、创建mybatis主配置文件 SqlMapConfig.xml
4、创建映射配置文件IUserDao.xml
注意事项:
mybatis的映射配置文件位置必须和dao接口包结构相同
映射配置文件的mapper标签namespace属性取值必须是dao接口的全限定类名
配置文件的操作配置,Id属性取值必须为dao接口方法名
test的java文件
1、读取配置文件
2、创建SqlSessionFactory工厂
3、创建SqlSession
4、创建Dao接口代理对象
5、执行dao方法
6、释放资源
注意事项: 在映射配置文件中告知mybatis封装的实体类
基于注解:在dao接口方法上使用@Select注解,指定SQL语句,在主配置文件的mapper配置中使用class属性指定dao接口的全限定类名
注:mybatis支持写dao实现类
mybatis使用代理dao的方式完成的事情:创建代理对象、在代理对象中调用selectList
具体代码分析:
插入一条记录分析:
映射配置文件xml
接口文件
主代码
更新删除记录;
id查询、模糊查询
总记录条数查询
查询最新插入的ID
OGNL表达式
queryVo条件查询
实体类属性和数据库表列名不对应的情况、resultMap结果类型
property标签
typeAlias标签 类型别名