MyBatis的动态代理
动态代理
mybatis创建了dao接口的实现类,在实现类中调用SqlSession的方法执行sql语句
使用SqlSession.getMapper(dao接口.class) 获取这个dao接口的对象
使用动态代理方式
- 获取SqlSession对象,SqlSessionFactory.openSession()
- 使用getMapper方法获取某个接口的对象,sqlSession.getMapper(接口.class)
- 使用dao接口的方法,调用方法就执行了mapper文件中的sql语句
使用动态代理方式的要求
- dao接口和mapper文件放在一起,同一目录
- dao接口和mapper文件名称一致
- mapper文件中的namespace的值是dao接口的全限定名称
- mapper文件中的,,,等的id是接口中方法名称
- dao接口中不要使用重载方法,不要使用同名的,不同参数的方法