1. 使用Mapper的动态代理的要求:
(1) session.getMapper()中的参数为所要代理的接口的类型
例: 所要代理的接口为IStudentDao,那么session.getMapper()中的参数(即括号里)就是 IStudentDao.class
(2) 映射文件中的nameSpace属性值为所要代理的接口的全限定性类名( 例:com.abc.dao.IStudentDao)
(3) 映射文件中的statement的id名称必须要和所要代理的接口中相对应的方法名相同.
注意:
Mapper的动态代理对象底层也是通过调用SqlSession的selectOne()或selectList()方法执行调查的
但若方法返回值类型是List,则系统会调用selectList()方法,其他类型的返回值,系统调用的都是selectOne()方法
即系统调用selectOne()或selectList()方法的判别标准是 方法的返回值类型是否为List
补充:
数据库中:
@@读取系统变量的值
identity中存放的是新插入记录的id值
select @@identity; 可以显示新插入记录的id值(select last_insert_id()也可以查看)
(注:上述方法必须紧跟插入语句)