请教Mybatis和Spring结合的配置问题
项目中用的是spring3.0.5,MyBatis3.0.5,整合mybatis,spring用的是mybatis-spring-.1.0.1。在这个过程中,遇到了一个配置上的问题,就是配置Mapper时的错误,在运行时抛出如下异常:
Exception in thread “main“ java.lang.IllegalArgumentException : Mapped Statements collection does not contain value for cn.xxxx.mail.webmail.dao.UserMapper.getUserById
一看就知是Mapper配置出错了。仔细检查过了,
1、我是用:《bean class=“org.mybatis.spring.mapper.MapperScannerConfigurer“》
《property name=“basePackage“ value=“cn.xxxx.mail.webmail.dao.mapper“/》
《/bean》让spring自动加载mapper配置的,这个没错。
2、UserMapper.java接口和UserMapper.xml同名,且在同一路径下,这个没错。
我的UserMapper.java有个方法是:public User getUserById(String id);
问题就出在这里了,我在UserMapper.xml中配成了这样:
《select id=“getUser“ resultType=“cn.xxxx.mail.webmail.model.User“ parameterType=“java.lang.String“》
select * from users where id=#{value}
《/select》
在配置文件中的select 的id写错了,写成getUser,没和UserMapper.java的方法同名
经过这次,得出如下结论:
1、mapper的java文件和mapper的xml配置文件要同名,同路径
2、mapper的java文件的方法名称和mapper的xml配置文件的id要同名称
3、mapper配置文件的namespace要全名,不能只写包名
如:cn.xxxx.mail.webmail.dao.mapper.UserMapper,这时,namespace不能写 成:cn.xxxx.mail.webmail.dao.mapper
python字符串如何去掉英文字母以外的字符
可以利用正则表达式来去除
既然说到了字符串的操作,那么就目前而言是没有别的方法会比正则表达式更加方便的:
正则表达式中代表非字母的写法如下:
[^a-zA-Z]
#code:
#out:
拓展内容
其实除了正则表达式来截取外,python中String也提供了方法来判断字符是否为字母字符:
isalpha()方法 判断当前索引的字符是否为字母返回布尔类型
#code:
#out:
其实上述利用isalpha()的写法还可以简写一点,可以利用python可以把表达式当成参数的写法来:
#code:
表达式返回的为一个字符列表,这里使用join方法把空字符加入到字符列表中组成了一个新的字符串返回。
#out:
misleading是什么意思
misleading[英][ˌmɪsˈli:dɪŋ][美][mɪsˈlidɪŋ]
adj.误导性的; 骗人的; 引入歧途的;
例句:
1.
But surveys can also send misleading policy signals.
但问卷调查可能也会发出误导性的政策信号。
2.
Intuition can be misleading in such matters-all the more reason why big organisations should test out their new policies whenever they can.
在这类问题上,直觉可能不准正因如此,大企业才应该尽可能地对新政策进行测试
-pring