Type interface com.king.dao.UserDao is not known to the MapperRegistry.找不到接口?
网上也查过了,一大堆解决方案,基本都在说mapper.xml映射的路径错误,但是我根本就没用到这个文件,新公司的用法很奇怪,这是我根据公司的写法自己做的一个案例:
这是SessionFactoryManager:
public class SessionFactoryManager {
static private SqlSessionFactory sqlSessionFactory;
// 单例模式
static public SqlSession getSqlSession() {
InputStream is;
try {
is = Resources.getResourceAsStream("mybatis-config.xml");
if (sqlSessionFactory == null) {
sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
System.out.println("if");
}else{
System.out.println("else");
}
return sqlSessionFactory.openSession();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
sql语句是写在UserDao里面的:
public interface UserDao {
@Select({"select * from Dc_User where 1=1 ${where}"})
public List<User> getList(@Param("where") String where);
}
这是web
这是mybatis-config
<mappers>
<package name="com.king.mybatis"/>
</mappers>
前端页面调用后台方法用的是拼接的方式:
这是login.jsp
$.post('login/User_login',{username:username,password:password},function(ms){
layer.alert(ms, {
title: '返回值'
});
})
这是struts.xml
<package name="views" namespace="/views" extends="struts-default">
<action name="*_*" class="com.king.controller.{1}Controller" method="{2}">
<result name="tm">message.jsp</result>
</action>
</package>
打印ms: