Spirng+SpringMVC+Mybatis(一)

实习之后都是在别人搭配好环境的情况下进行一些业务的编写,脑袋已经不记得如何搭建一个ssm项目的,所以周末有空补了一下。

首先新建一个test数据库,并且在里面插入三条数据。如图下

编写一个User Bean类:

编写Mapper.xml

然后编写mybatis-config.xml配置文件:

然后在Spring的配置文件里面配好相关的bean,这里的思路是用DriverManager是spring提供的org.springframework.jdbc.datasource.DriverManagerDataSource,而不是用jdk提供的DriverManager。然后把drivermanager作为数据源DataSource配置进去工厂类org.mybatis.spring.SqlSessionFactoryBean,然后session用的是工厂提供的模板session,整个配置文件如下:

然后编写Serivce类:

最后 编写控制类:

 最后完成mvc配置文件的配置,这里一定要配置

<annotation-driven></annotation-driven>


<default-servlet-handler/>

<context:component-scan base-package="com.kjw.learn" />


<beans:bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/" />
<beans:property name="suffix" value=".html" />
</beans:bean>

这四个元素,他们分别有不同的作用:

第一个是用来完成controller注解功能的配置

第二个是用来配置请求分发的一些配置

第三个是用来扫描bean的

第四个是用来配置试图的

文件截图:

最后运行结果如下:

问题总结:

问题一:一开始是找不到Mapper文件,原因是路径问题,我放在了WEB-INF文件下,然后就怎么也找不到mapper文件,后来用的是把他放在classpath的目录下,用classpath:xxx解决了问题。

问题二:就是访问的时候找不到控制器里面对应的方法问题,最终解决办法是把mvc配置文件里面四个元素都加上。原因大致是Handler的问题,不同的配置会导致Spring使用不同的Handler,有些handler功能不全所以导致找不到对应url里面的方法。

问题三:这里用的配置数据源的方法是springdatamanager------>mybatis的工厂类SqlSessionFactoryBean---->mybatis的session模板类SqlSessionTemplate来完成Dao,最后直接在Service里面使用SqlSessionTemplate作为Dao.

还有其他方式配置数据源的例如Mapper扫描。这个下次再作实验

原文地址:https://www.cnblogs.com/JieWen/p/7353202.html