Mapper代理开发
目的 Mapper代理方式入门案例
1.完成Mapper文件映射
创建包创建并放入模拟接口
创建目录编译映射文件成功 2.设置映射文件的namespace属性3.在Mapper接口中定义方法
更改mybatis-config.xml 4.模拟代理开发
demo02源码异常再次编译运行complete!!
Mapper代理开发 目的解决原生方式中的硬编码简化后期执行SQL Mapper代理方式入门案例
定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下
设置SQL映射文件的namespace属性为Mapper接口全限定名
在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
编码
创建包 创建并放入模拟接口 创建目录定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下
让Mapper接口与xml文件在同一目录下
- 我们可以直接用鼠标拖动,但是显然不合适,文件比较乱,不方便管理我们在resources里新建目录,并映射
编译注意格式(要与mapper文件路径一致)
映射文件成功 2.设置映射文件的namespace属性把Tb_userMapper.xml文件移动到该目录下,并进行编译,这里我们使用maven插件进行编译
3.在Mapper接口中定义方法设置SQL映射文件的namespace属性为Mapper接口全限定名
更改mybatis-config.xml在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
4.模拟代理开发右键 - copy-path
demo02源码复制demo02
package com.taotao;
import com.taotao.mapper.UserMapper;
import com.taotao.pojo.Tb_user;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatisDemo02 {
public static void main(String[] args) throws IOException {
//1.加载mybatis的核心配置文件,获取 SqlSessionFactory
String resource = "mybatis-config.xml"; //相对路径
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取SqlSession对象,用它来执行sql
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.执行sql
// List users = sqlSession.selectList("test.selectAll");
//3.1 获取userMapper接口的代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List tb_users = userMapper.selectAll();
System.out.println(tb_users);
//4.释放资源
sqlSession.close();
}
}
异常
再次编译运行 complete!!我换了root密码,所以重新改下root’@'localhost密码即可



