发表于: 2016-09-19 10:32:57

2 2280


今天完成的事情:完成了spring和mybatis的整合。整合过程:

一、整体流程:

a. 建立数据库

b. 配置maven项目的pom.xml

c. 建立poStudent.java

d. po类对应的StudentDao接口

e. mapper.xml配置sql语句

f. SqlMapConfig.xml配置

g. WEB-INF下的ApplicationContext.xml配置

h. web.xml文件配置

i. 实现类StudentDao的实现

j. 编写测试类

  注:文档结构图如下:

1.1 applicationContext的配置:

1.数据源dataSource(包括driverClassNameurlusername,password

2.事务管理transactionManager

 

3.spring中获得bean容器,

 

4.配置原始Dao的配置文件

 

5.配置代理Mapper开发的配置文件

1.2 SqlMapConfig.xml

配置mapper.xml文件路径

1.3 web.xml配置

1.4 mapper代理的不同点

首先,namespace的命名。

 

a.原始的dao的实现类

可以用test.+方法名来调用方法,test代指studentDao,调用studentDao接口里面的方法

 

这里的SelectOne用来和findStudentByID相对应(查询),insertinsert()方法相对应

 

 

b.mapper代理的接口写完直接写test

 

student里面传值

4.5注解开发

注解开发需要配置文件+接口+测试类即可



问题:1.spring注解开发SqlMapConfig.xml为什么不需要在里面配置路径?

   2.在直接调整Dynamic web2.3变成2.5/3.0/3.1的时会提示cannot change version of project facet dynamic web module to 2.5/3.0/3.1,如何解决?

   3.报错:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist

这个是读取配置文件的代码:

问题的答案:

   1.注解开发把sql语句直接写在了接口里面,而SqlMapConfig.xml的作用是扫描到mapper.xml文件,所以就不需要了

   2:eclipse的解决方法:Window > Show View > Other > General调出navigator视图,找到对应的项目,找到.setting文件夹下的org.eclipse.wst.common.project.facet.core.xml这个文件,把 <installed facet="jst.web" version="2.3"/>的2.3改成需要的版本。另外,这个问题出现的原因很可能是因为jdk的版本问题,建议在pom.xml里直接设置好jdk的版本。

   3.原因:路径写错了,正确的路径应为:spring/applicationContext.xml,即要从sourceFile底下开始算,子文件夹都要写。




返回列表 返回列表
评论

    分享到