步骤
(1)建maven工程并导入坐标
(2).创建实体类和dao的接口
(3).创建mybatis的主配置文件
SqlMapConfig.xml
(4).创建映射配置文件
IUserdao.xml
(若是基于注解,移除映射配置文件,在dao接口使用@Select注解,同时在SqlMapConfig
的mapper中使用class属性指定dao接口的全限定类名)
(5).入门案例:(mybatis-day0101、mybatis-day0102、mybatis-day0103)
1.读取配置文件
2.创建SqlSessionFactory工厂
3.使用工厂生产SqlSession对象
4.使用SqlSession创建Dao接口的代理对象
5.使用代理对象执行方法
6.释放资源
案例设计模式分析
SqlMapConfig.xml
<?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>
<!-- 配置环境-->
<environments default="mysql">
<!-- 配置mysql的环境-->
<environment id="mysql">
<!-- 配置事务的类型-->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源(连接池)-->
<dataSource type="POOLED">
<!-- 配置连接数据库的四个基本信息-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="970810"/>
</dataSource>
</environment>
</environments>
<!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件
如果是注解配置,此处应该使用class属性指定被注解的dao全限定类名
-->
<mappers>
<mapper class="com.zs.dao.IUserDao"></mapper>
<!-- <mapper resource="com/zs/dao/IUserDao.xml"></mapper>-->
</mappers>
</configuration>
selectList方法的执行
1.根据配置文件的信息创建Connection对象(此处用的是dom4j解析xml技术)
注册驱动,获取连接
2.获取预处理对象PreparedStatement
此时需要SQL语句
conn.preparedStatement(sql)
3.执行查询
ResultSet resultSet = preparedStatement.executeQuery();
4.遍历结果集用于封装
Listlist =new ArrayList();
while(resultSet.next()){
E element =Class.forName(配置的全限定类名).newInstance();
进行封装,把每个rs的内容都添加到element中
把element加入到list中
list.ass(element);
}
5.返回list
return list;
6.自定义mybatis的分析(mybatis-day0104 )
mybatis在使用代理dao的方式实现删增改查时的工作