mybatis
仅个人笔记
mybatis是一个优秀的基于Java的持久层框架,内部封装了jdbc,使开发者只需要关注SQL语句本身,而无需关注注册驱动,创建连接等繁琐过程
一、入门
-
三层架构
-
表现层
- 展示数据
-
业务层
- 业务处理
-
持久层
- 与数据库交互
-
-
持久层技术解决方案
- jdbc
- Spring的JdbcTemplate
- Spring中对jdbc的简单封装
- apache的DbUtils:
- 对jdbc的简单封装
- (以上都不是框架)
- jdbc是规范
- JdbcTemplate与DbUtils都只是工具类
-
mybatis概述
使用了ORM思想实现了结果集的封装
ORM(Object Relational Mapping 对象关系映射):
- 把数据库表及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表
-
mybatis的入门
-
环境搭建
- 创建maven工程并导入坐标
- 创建实体类和dao接口
- 创建mybatis的主配置文件
- 创建映射配置文件
-
环境搭建的注意事项
- 在mybatis中持久层的操作接口名称和映射文件也叫做:Mapper
- mybatis的映射文件位置必须与dao接口的包结构相同
- 映射配置文件的mapper标记namespace属性的取值必须是dao接口的全限定类名
- 映射配置文件的操作配置(select等等),id属性的取值必须是dao接口的方法名
- (遵循2,3,4点后,开发中就无需再写dao实现类)
-
简单案例
- 主配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!--mybatis的主配置文件--> <configuration> <properties resource="jdbc.properties" /> <!--配置环境--> <environments default="mysql"> <!--配置mysql环境--> <environment id="mysql"> <!--配置事务类型--> <!--<transactionManager type="JDBC" /> 这里type="JDBC"表示按照原始jdbc模式进行,所以回滚或提交需要手写 --> <transactionManager type="JDBC" /> <!--配置数据源(连接池)--> <dataSource type="POOLED"> <!--配置数据库的4个信息--> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <!--指定映射配置文件的位置,映射配置文件是指每一个dao独立的配置文件--> <mappers>
-