Mybatis---04 Mapper代理开发
通过上面的描述可以看出 Mapper 代理方式的目的:
- 解决原生方式中的硬编码
- 简化后期执行SQL
第二种方法有很多优势,首先它不依赖于字符串字面值,会更安全一点;其次,如果你的 IDE 有代码补全功能,那么代码补全可以帮你快速选择到映射好的 SQL 语句。
使用Mapper代理要求
使用Mapper代理方式,必须满足以下要求:
- 定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下。如下图:
- 设置SQL映射文件的namespace属性为Mapper接口全限定名
- 在 Mapper 接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
😏如果Mapper接口每次和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载
在mybatis-config.xml内
<mappers>
<package name="com.itheima.mapper"/>
<mappers>
配置各个标签时,需要遵守前后顺序。
类型别名同样可以采用包搜索的方式
可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,
<typeAliases>
<package name="domain.blog"/>
</typeAliases>