规范
1.XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)。 
2.XML映射文件的namespace属性为Mapper接口全限定名一致。
3.XML映射文件中sql语句的id与Mapper 接口中的方法名一致,并保持返回类型一致。
@Mapper
public interface EmpMapper {
public List<Emp> List (String name, Short gender , LocalDate begin , LocalDate end);
}<?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 namespace="com.itheima.mapper.EmpMapper">
<select id="List" resultType="com.itheima.pojo.Emp">
select * from emp where name like concat('%',#{name},'%')
</select>
</mapper>什么情况下使用
官方解释
https://mybatis.net.cn/getting-started.html
1.使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。
2.选择何种方式来配置映射,以及认为是否应该要统一映射语句定义的形式,完全取决于你和你的团队。 换句话说,永远不要拘泥于一种方式,你可以很轻松的在基于注解和 XML 的语句映射方式间自由移植和切换。
评论