关于Mybatis的介绍可以先看以往的博文Mybatis基础入门
三层架构原理图:
![](https://img-blog.csdnimg.cn/img_convert/5ab6309a82bf366839a663bdc5e5494f.png)
持久层图:
![](https://img-blog.csdnimg.cn/img_convert/85b58430e7ba8278bd48c342d706d950.png)
mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao的接口 第三步:创建Mybatis的主配置文件 SqlMapConifg.xml 第四步:创建映射配置文件 UserDao.xml 环境搭建的注意事项: 第一个:创建UserDao.xml 和 UserDao.java时名称是为了和我们之前的知识保持一致。 在Mybatis中它把持久层的操作接口名称和映射文件也叫做:Mapper 所以:UserDao 和 UserMapper是一样的 第二个:在idea中创建目录的时候,它和包是不一样的 包在创建时:com.zyzdao它是三级结构 目录在创建时:com.zyz.dao是一级目录 第三个:mybatis的映射配置文件位置必须和dao接口的包结构相同 第四个:映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名 第五个:映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名
当我们遵从了第三,四,五点之后,我们在开发中就无须再写dao的实现类。 mybatis的入门案例 第一步:读取配置文件 第二步:创建SqlSessionFactory工厂 第三步:创建SqlSession 第四步:创建Dao接口的代理对象 第五步:执行dao中的方法 第六步:释放资源
注意事项: 不要忘记在映射配置中告知mybatis要封装到哪个实体类中 配置的方式:指定实体类的全限定类名代码展示:
首先我们需要配置一个全局的mybatis的文件。每个dao中类的xml配置文件都可以加在总配置文件之中
设置全局配置文件名为mybatis-conf.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">
其余的dao中的xml配置文件约束如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
下面开始介绍mybatis-config.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">
<!-- 配置连接数据库的4个基本信息 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
<mappers>
<mapper resource="com/zyz/dao/UserInfoDao.xml" />
</mappers>
</configuration>
![](https://img-blog.csdnimg.cn/img_convert/4fa4f7ce4e9da15fc4a49b6b39c9315d.png)
环境部分主要用户数据库的配置
![](https://img-blog.csdnimg.cn/img_convert/5efa8570d4bd443b639a81d5f00894cb.png)
映射文件主要用于dao中的映射文件的地址配置
![](https://img-blog.csdnimg.cn/img_convert/61bc414031c4ccf7cce526ee10d2eb61.png)
持久化类,方法类,映射类
![](https://img-blog.csdnimg.cn/img_convert/15908f11ce7169db0ea31817ed703393.png)
注意:创建持久化类的时候变量名最好要和数据库的字段一样,虽然有resultMap标签可以解决变量名不一样的问题,但是在idea中好像不起作用还报错,不知道为什么。