XML映射文件
规范
- XML映射文件的名称与Mapper接口名称一致(EmpMapper对应EmpMpper.xml),并且将XML映射文件和Mapper接口放置在相同包下(同包同名)
-
在maven项目结构中所有的配置文件都在resources目录之下,因此要在该目录下创建Mapper接口相同的文件目录,注意在创建目录时要使用/来进行目录的分级
-
- XML映射文件的namespace属性与Mapper接口全限定名一致
- XML映射文件中的SQL语句的id与Mapper接口中的方法名一致,并保持返回类型一致。
- Mapper接口中的方法名
-
XML映射文件中的id
-
设置返回查询结果的返回类型resultType
-
resultType设置的是查询结果单条记录所封装的类型
- Mapper接口中的方法名
原理
在调用某一个Mapper接口中的方法时,就会执行该Mapper接口对应的XML映射文件中的对应的SQL语句
如上述3图所示:在调用EmpMapper接口中的List()时,就会执行对应的EmpMapper.xml映射文件中的id=List的SQL语句
IDEA插件
- MybatisX是一款基于IDEA的快速开发Mybatis的插件,为效率而生。
- 在IDEA插件中进行搜索即可
- 安装成功之后在Mapper接口文件前就会如下图所示
小结
使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。
选择何种方式来配置映射,以及认为是否应该要统一映射语句定义的形式,完全取决于你和你的团队。 换句话说,永远不要拘泥于一种方式,你可以很轻松的在基于注解和 XML 的语句映射方式间自由移植和切换。
- XML映射文件定义规范
- XML文件的名称要与Mapper接口文件的名称一致,并且放在相同的包下(同包同名)
- XML文件的namespace属性与Mapper接口全限定名(是指一个类或接口在Java中的完整命名,包括包名和类)一致
- XML文件中的SQL语句的id与Mapper接口中的方法名一致