1. 使用mapper代理开发是为了解决mybatis的硬编码问题
2. 步骤
1. 定义与SQL映射文件同名的mapper接口,并且将mapper接口和SQL映射文件放置在同一目录下
这样并不好,因为要求代码和配置文件分开,因此在配置文件resources中创建与mapper接口一样路径的directoryxxx/xxx/xxx
,然后将配置文件放进去
发现编译完成后在同一个路径下
2. 设置SQL映射文件的namespace属性为mapper接口全限定名
接口的全限定名
设置namespace属性
3. 在mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
方法名为selectAll,返回值类型为user
写到后来才发现应该定义一个接口,我定义成了类,于是进行修改
还要修改配置文件中的路径
4. 编码
1. 通过SqlSession的getMapper方法获取Mapper接口的代理对象
2. 调用对应的方法完成sql执行
通过包扫描方式加载映射文件