1----.Caused by: java.lang.IllegalArgumentException: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.wh.mapper.SaleMapper.BaseResultMap
原因是:在SaleMapper中有重复出现的id,mybatis不能识别雷同的id,导致启动错误,删除即可或者改id(接口方法名一起)
2----学习Hibernate时:在User.hbm.xml中id中设置了<generator class="increment"></generator>自动增长的属性,而在测试代码中给user.serUid(2)设了值并使用session.persist(user)持久化数据,导致报了:
org.hibernate.PersistentObjectException: detached entity passed to persist: cn.wh.pojo.User;
解决方法:不用给uid设值,或者把session.persist(user)改为session.save(user)---(目前测试了两种)
2.1-----报了:org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: cn.wh.pojo.....
原因是对象存在瞬时状态的(就是在内存中刚刚创建的一个用户对象,此时并与数据库没有操作,数据库是不可能执行的)
3----使用Hibernate反向生成实体类时报错 Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
解决方法:将hibernate的版本从3.6改为3.5
(之前安装的时候是用jbosstools-4.2.3.Final_2015-03-26_23-05-30-B264-updatesite-hibernatetools.zip离线安装(来自:
http://blog.csdn.net/zc123456zzc/article/details/45540513)
4---在 Push到服务器时有时会出现 rejected - non-fast-forward 错误,这是由于pull的代码而远端发生改变,此时再提交之前你需要将远端的改变合并到本地上
解决方法:http://blog.csdn.net/chenshun123/article/details/46756087
5--junit时:Caused by: java.lang.IllegalArgumentException
原因是jdk8与spring3.2的版本不一致,必须spring4与jdk8,所以必须要同步,jdk7与spring3
6--Caused by: java.lang.ClassNotFoundException: com.alibaba.druid.pool.DruidDataSource
原因是缺少一个jar包,一般报找不到DataSource一般是缺少jar包
7--异常org.springframework.beans.factory.NoSuchBeanDefinitionException
原因是因为在spring的上下文中找不到相应bean类(我检查的是@Service没写)
8--异常:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
一般的原因
Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上。
按以下步骤一一执行:
1、检查xml文件所在的package名称是否和interface对应的package名称一一对应
2、检查xml文件的namespace是否和xml文件的package名称一一对应
3、检查函数名称能否对应上
4、去掉xml文件中的中文注释
5、随意在xml文件中加一个空格或者空行然后保存
而我的原因是:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="classpath:mybatis.xml"></property> <property name="dataSource" ref="dataSource"></property> </bean>
中的configLocation 应该改为mapperLocations ,相应的value为:classpath*:mappers/*Mapper.xml
9---java.net.UnknownHostException: mybatis.org
原因是:原来mybatis的配置文件头部引用的命名空间地址导致的,因为引入了mybatis的dtd文档模板
mybatis在初始化的时候都回去访问这个域名;所以有两种解决方案:
1:解决服务器的网络问题(网络问题)
2:下载dtd文件,引用本地资源
10----java.lang.NoClasjava.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonProcessingException
解决方案:在pom.xml中加入
jackson-annotations、jackson-databind、jackson-core这三个依赖