MyBatis的Mapper映射文件是如何与对应的接口相关联的
如题,我在UserMapper.xml映射文件中定义了一个ID为selectUserByUsernameAndPassword的select标签,它有一个接口类:publ...
如题,我在UserMapper.xml映射文件中定义了一个ID为selectUserByUsernameAndPassword的select 标签,它有一个接口类:public interface UserDao,我想知道为什么我调用接口找那个的方法的时候框架就会自动的去映射文件里找对应的标签呢?有一种说法是,通过xml文件的namespace,可是我把名字改了仍然能找到。我用的是Spring框架配置的mybatis,求大神指导!
展开
1个回答
展开全部
public interface UserDao 实现类里面应该有写selectUserByUsernameAndPassword这个ID的。你到实现类里面看看。
比如:getSqlMapClientTemplate().queryForList(“selectUserByUsernameAndPassword
”);如果加了命名空间namespace,那么语句是这样getSqlMapClientTemplate().queryForList(“命名空间名称.selectUserByUsernameAndPassword
”);
比如:getSqlMapClientTemplate().queryForList(“selectUserByUsernameAndPassword
”);如果加了命名空间namespace,那么语句是这样getSqlMapClientTemplate().queryForList(“命名空间名称.selectUserByUsernameAndPassword
”);
更多追问追答
追问
这个接口没有实现类,这也是我疑惑的地方,我在service层就直接调用了selectUserByUsernameAndPassword这个方法,请大神指教
追答
有一种说法是,通过xml文件的namespace,可是我把名字改了仍然能找到。
你把接口名字和映射文件中id的值都该了还是可以找到对应的标签是吗?
还是说你改了namespace名字?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询