mybatis Mapper文件不被扫描

ja_rome 2016-01-18 10:54:59
Mybatis 配置中配置SessionFactory的内容如下

<!-- Mysql -->
<bean id="mysqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="mysqlSource" />
<property name="mapperLocations" >
<list>
<value>classpath:com/jwapp/core/dao/*Mysql.xml</value>
<value>classpath:com/jwapp/core/dao/*/*Mysql.xml</value>
</list>
</property>
<property name="typeAliasesPackage" value="com.jwapp.core.bean" />
<!-- <list>
<value>com.jwapp.core.bean</value>
<value>com.jwapp.core.bean</value>
</list>
</property> -->
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>




然后我在包 com/jwapp/core/dao/user/ 下有两个配置文件。一个名为UserOracle.xml , 另一个名为 TokenOracle.xml 两个文件配置信息大同小异。没有语法错误。但是 UserOracle 能加载,TokenOracle 不能加载。这是为什么。。
一使用TokenOracle配置的Interface 就报Invalid bound statement错误。。麻烦大家帮我看看是为什么。
...全文
633 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ja_rome 2016-01-19
  • 打赏
  • 举报
回复
虽然新的问题没能解决。但是原始问题解决了。。所以还是结贴了吧。。多谢两位的解答。
_南天北落 2016-01-19
  • 打赏
  • 举报
回复
引用 8 楼 jlh912008548 的回复:
[quote=引用 6 楼 my_God_sky 的回复:] <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="<span style="color: #FF0000;">com.jwapp.core.dao.user.TokenDao</span>"> <resultMap type="com.jwapp.core.bean.user.Token" id="userMap"> <id column="zjh" property="zjh" jdbcType="VARCHAR" /> <result column="mm" property="mm" jdbcType="VARCHAR" /> <result column="yhlbdm" property="yhlbdm" jdbcType="VARCHAR" /> </resultMap> <select id="findToken" parameterType="Token" resultMap="userMap"> select *from tb_token where <if test="userId != null or token != null"> where </if> <if test="userId != null and token != null">
不好意思哈。。更改准备点引用 结果点错了。。 这个是什么意思啊?[/quote] 赋值错了,表达的意思都是一样的。
ja_rome 2016-01-19
  • 打赏
  • 举报
回复
引用 6 楼 my_God_sky 的回复:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="<span style="color: #FF0000;">com.jwapp.core.dao.user.TokenDao</span>"> <resultMap type="com.jwapp.core.bean.user.Token" id="userMap"> <id column="zjh" property="zjh" jdbcType="VARCHAR" /> <result column="mm" property="mm" jdbcType="VARCHAR" /> <result column="yhlbdm" property="yhlbdm" jdbcType="VARCHAR" /> </resultMap> <select id="findToken" parameterType="Token" resultMap="userMap"> select *from tb_token where <if test="userId != null or token != null"> where </if> <if test="userId != null and token != null">
不好意思哈。。更改准备点引用 结果点错了。。 这个是什么意思啊?
ja_rome 2016-01-19
  • 打赏
  • 举报
回复
什么意思? xml 文件里的接口地址,类地址都是正确的。 现在 是 static 静态块不起作用
_南天北落 2016-01-19
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jwapp.core.dao.user.TokenDao">
    <resultMap type="com.jwapp.core.bean.user.Token" id="userMap">
        <id column="zjh" property="zjh" jdbcType="VARCHAR" />
        <result column="mm" property="mm" jdbcType="VARCHAR" />
        <result column="yhlbdm" property="yhlbdm" jdbcType="VARCHAR" />
    </resultMap>
    <select id="findToken" parameterType="Token" resultMap="userMap">
        select *from tb_token where 
        <if test="userId != null or token != null">
            where
        </if>
        <if test="userId != null and token != null">
TokenDao是在这个包下面吗?
ja_rome 2016-01-19
  • 打赏
  • 举报
回复
问题解决了。是因为这个项目是动态选择数据库的。。我在service层是这样选择数据库的

static{
		CustomerContextHolder.setContextType(CustomerContextHolder.SESSION_FACTORY_ORACLE);
	}
但是不知道为什么,这个静态块没起作用。于是无就把选择数据库的这个操作给放在函数里了

@Transactional(readOnly = true)
	public int save(Token token) {
		CustomerContextHolder.setContextType(CustomerContextHolder.SESSION_FACTORY_MYSQL);
		return tokenDao.save(token);
	}
可是为什么 static 块 会不起作用呢?
_南天北落 2016-01-19
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="<span style="color: #FF0000;">com.jwapp.core.dao.user.TokenDao</span>"> <resultMap type="com.jwapp.core.bean.user.Token" id="userMap"> <id column="zjh" property="zjh" jdbcType="VARCHAR" /> <result column="mm" property="mm" jdbcType="VARCHAR" /> <result column="yhlbdm" property="yhlbdm" jdbcType="VARCHAR" /> </resultMap> <select id="findToken" parameterType="Token" resultMap="userMap"> select *from tb_token where <if test="userId != null or token != null"> where </if> <if test="userId != null and token != null">
ja_rome 2016-01-19
  • 打赏
  • 举报
回复
各位大神 ,麻烦给看看啊。。实在是没辙了
ja_rome 2016-01-19
  • 打赏
  • 举报
回复

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jwapp.core.dao.user.TokenDao">
<resultMap type="com.jwapp.core.bean.user.Token" id="userMap">
<id column="zjh" property="zjh" jdbcType="VARCHAR" />
<result column="mm" property="mm" jdbcType="VARCHAR" />
<result column="yhlbdm" property="yhlbdm" jdbcType="VARCHAR" />
</resultMap>
<select id="findToken" parameterType="Token" resultMap="userMap">
select *from tb_token where
<if test="userId != null or token != null">
where
</if>
<if test="userId != null and token != null">
userId = #{userId} and token = #{token}
</if>
<if test="userId != null and token == null">
userId = #{userId}
</if>
<if test="token != null and userId == null">
token = #{token}
</if>
</select>
<insert id="save" parameterType="Token" >
insert into tb_token values (#{userId},#{token});
</insert>
<update id="update" parameterType="Token">
update tb_token set token = #{token} where userId = #{userId};
</update>
</mapper>

namespace 和 resultMap 中类的地址是正确的。。无的测试类 如下

@Autowired
private TokenService tokenService;
@Test
public void insert(){
Token token = new Token();
token.setToken("123asd");
token.setUserId("11111");
int i = tokenService.save(token);
System.out.println(i);
}

错误信息如下
前端漫谈 2016-01-19
  • 打赏
  • 举报
回复
copy过来的,看看是否有什么遗漏的,没有修过过来

51,395

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧