一、XML映射配置
如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在XML配置文件中。而使用Mybatis的注解方式,主要是来完成一些简单的增删改查功能。
在Mybatis中使用XML映射文件方式开发,必需符合规范:
XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)
XML映射文件的namespace属性为Mapper接口全限定名一致
XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。
二、XML配置文件操作
1、创建XML映射文件
在resources右键| New | Directory | com/hlx/mapper
2、编写XML映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
</mapper>
3、XML映射文件的namespace属性为Mapper接口全限定名
选中DeptMapper右键 | Copy /Paste Special | Copy Reference
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.hlx.mapper.DeptMapper">
</mapper>
4、XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.hlx.mapper.DeptMapper">
<select id="findAll" resultType="org.hlx.pojo.Dept">
select * from dept
</select>
</mapper>
完整的映射配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.hlx.mapper.DeptMapper">
<!-- resultType:查询返回单条数据的类型-->
<select id="findAll" resultType="org.hlx.pojo.Dept">
select * from dept
</select>
<!-- 添加-->
<insert id="addDept" parameterType="org.hlx.pojo.Dept">
insert into dept(id,name) values (#{id},#{name})
</insert>
<!-- 删除-->
<delete id="deleteById" parameterType="int">
delete from dept where id = #{id}
</delete>
<!-- 修改-->
<update id="updateDept" parameterType="org.hlx.pojo.Dept">
update dept set name = #{name} where id = #{id}
</update>
</mapper>
注意:注解或XML只能选一个,切不可同时配置。