为什么要用XML映射文件配置???
有人就会有疑问,不是可以基于注解来配置sql语句吗,那么为什么还要学习基于xml配置sql语句呢。QAQ
因为官方这么说:如果仅仅配置简单的sql语句,使用注解会更简洁明了,但要是如果语句复杂了会让你的sql语句混乱不堪,所以要是需要复杂的操作,最好使用XML映射文件。方法合适就好啦。
规范
首先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">
后面就是<mapper>等的标签巴拉巴拉类似
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
大体分为三个规范
第一个就是同包同名,配置文件虽一般放在resource包下,但要保证与mapper接口包名相同,且文件名也要与mapper接口文件名一样(当然后缀不一样,后缀一定要是xml嘛)
再一个就是配置文件中的标签<mapper>的唯一属性namespace要与mapper接口的全限定名一致
最后就是sql语句的id属性要与接口中方法名一致,并保持返回类型一致。