先前参考这位大佬的文章写项目出了很多问题,经过不断修改之后终于项目得以平稳运行了。
以下是我的踩坑记录以及对应的de解决方案(不过有一个问题是解决了但是我不懂深层次理由,对此有理解的友友希望可以帮我解答。)
首先上出现最多最严重以及我没理解报错原理的一个问题。
大概就是我已经定义了sqlsessionFactory的bean,但项目无法识别出来无法创建sqlsessionFactory对象。
解决的方案仅仅是删掉以下代码,大家可以对比一下,上面是正确的,下面是最初我错误的那一版。
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 引用上面已经配置好的数据库连接池 -->
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 配置mapper接口的扫描器,将Mapper接口的实现类自动注入到IoC容器中 实现类Bean的名称默认为接口类名的首字母小写 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- basePackage属性指定自动扫描mapper接口所在的包 -->
<property name="basePackage" value="com.test.dao"/>
</bean>
<!--上面正确,下面的是错的-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
<property name="configLocation" value="classpath:mybatis/config.xml" />
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" >
<list>
<value>classpath*:mybatis/mapper-user.xml</value>
</list>
</property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 引用上面已经配置好的数据库连接池 -->
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 配置mapper接口的扫描器,将Mapper接口的实现类自动注入到IoC容器中 实现类Bean的名称默认为接口类名的首字母小写 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- basePackage属性指定自动扫描mapper接口所在的包 -->
<property name="basePackage" value="com.test.dao"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
<property name="configLocation" value="classpath:mybatis/config.xml" />
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath*:mybatis/mapper-user.xml" >
</property>
</bean>
不一致的部分是两版不同,初版是通过mapper-user.xml文件加载SQL语句,而第二版是存在一个userMapper的接口类来加载SQL语句。让人在意的是标了红色不一致的这行代码。
查了一下说法是:
<property name="configLocation" value="classpath:mybatis-config.xml"/>
单独新建一个mybatis-config.xml文件,然后依赖注入进Spring容器里
spring容器里引入mybatis-config,mybatis-config里有Mapper映射文件地址就直接获取了。
但我运行的时候出现了严重的问题

本文记录了一个使用Spring、SpringMVC和MyBatis(SSM)实现登录注册功能的项目过程。作者遇到sqlsessionFactory无法创建的问题,通过删除特定配置并扫描mapper接口解决了问题。项目流程包括:准备数据库驱动、配置spring-context.xml、创建实体类、编写DAO和Service层,以及前后端数据封装。最后强调了GET和POST请求的区别。
9324

被折叠的 条评论
为什么被折叠?



