標籤:path 整合 data java state 情況 use .sql ssm
ssh整合版
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mappingResources"> <list> <value>com/bean/User.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.format_sql">true</prop> </props> </property> </bean>
修改bean class
其中,class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"引起了我的注意,由於我用的是Spring4,,但是這裡卻出現3,於是修改成class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
SSM整合版
環境是 jdk1.8 tomcat8 spring4
- 項目重新命名但 pom.xml 標題部分未修改
- 是沒有在pom.xml配置build包含 xml,導致target目錄下沒有userMapper.xml
- 還有一種情況是mybatis設定檔裡面的mapper掃描路徑配置不對
雖然mapper.xml檔案已經copy到class目錄下了,但是mybatis並沒有去載入,驗證辦法就是將mapper.xml中的dao或者entity類名隨便改成不存在的名稱,一般這時候是不報錯的.就是mybatis沒有載入mapper檔案.
解決辦法是去看看mybatis配置裡面的
property name="mapperLocations" value="classpath*:com/******/mappers/*Mapper.xml"></property>
是否是正確的路徑
我也遇到了這個問題,只是獨立用Mybatis,不是spring+mybatis,是註冊檔案順序有問題
代碼沒有任何問題,包括namespace,及java代碼全部正確
解決方案是
先註冊所有sqlmap對應檔
後註冊所有dao介面Mapper檔案
例如
<mappers> <mapper resource="qh/userreg/UserReg.sqlmap.xml"/> <mapper class="qh.userreg.IUserRegMapper"/> </mappers> </configuration>
先
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)