ORM Object-Relation Mapping框架
Mybatis---->ibatis 又灵活,又严谨,而且扩展性还高 SQL
Hibernate ----->巨型项目 HQL
JPA---->太过于灵活
Java所有的ORM框架,基本上都是对于JDBC的一种封装。
Mybatis的配置文件
使用mybatis需要先导入mybatis的jar包。
- Mybatis配置文件
<?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">
<configuration>
<!--配置mysql环境-->
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源(连接池)这里我选择的是POOLED数据源-->
<dataSource type="POOLED">
<!--配置连接数据库的4个基本信息-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/db_zbmanager?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="235689"/>
</dataSource>
</environment>
</environments>
<!--映射adminmapller.xml-->
<mappers>
<mapper resource="mapper/adminmapper.xml"></mapper>
</mappers>
</configuration>
- mybatis中二级缓存和plugin的配置
<!-- 开启二级缓存-->
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>
<plugins>
<!-- interceptor拦截器-->
<plugin interceptor="test.util.MyInterceptor"></plugin>
<!-- pagehelper分页-->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="helperDialect" value="mysql"/>
</plugin>
</plugins>
- mapper映射文件的配置
<?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">
<!-- 关联Mapper定义接口 -->
<mapper namespace="test.AdminMapper">
<resultMap id="Admin" type="test.bean.Admin">
<id property="id" column="id"></id>
<result column="account" property="account"></result>
<result property="pwd" column="pwd" ></result>
</resultMap>
<!-- id必须是接口中的方法 -->
<select id="queryAdminByIdByPage" parameterType="int" resultType="test.bean.Admin">
select * from tb_admin where id=#{id}
</select>
<insert id="insert" parameterType="test.bean.Admin">
insert into tb_admin(account,pwd) values (#{account},#{pwd})
</insert>
<select id="queryAdminByUsernameAndPassword" resultType="test.bean.Admin" parameterType="java.util.Map">
select * from tb_admin where account=#{username} and pwd=#{pwd}
</select>
<select id="queryAllAdmin" resultMap="Admin">
select *from tb_admin
</select>
</mapper>
- 环境配置注意事项
- mybatis的映射配置文件位置必须和dao接口的包结构相同
<!-- 关联Mapper定义接口 -->
<mapper namespace="test.AdminMapper">
- 映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
<!--映射adminmapller.xml-->
<mappers>
<mapper resource="mapper/adminmapper.xml"></mapper>
</mappers>
- 映射配置文件的操作配置(如select),id属性的取值必须是dao接口的方法名
<!-- id必须是接口中的方法 -->
<select id="queryAdminByIdByPage" parameterType="int" resultType="test.bean.Admin">
select * from tb_admin where id=#{id}
</select>