发表于: 2017-11-23 22:09:52
1 787
今天完成的事情:
在Spring中整合mybatis,参考:https://www.cnblogs.com/jyh317/p/3834142.html
在Spring中整合mybatis,除了需要引入spring相关jar包和mybatis核心jar包以外,还需要引入mybatis整合到spring的jar包
下图为项目中applicationContext.xml文件的主要配置信息
在这个配置中,发现dao配置的类为MapperFactoryBean,看了一下源码,
发现了需要配置mapperInterface属性,这个属性指向的就是dao接口,这个过程有点类似mybatis中的
IStudentDao dao = session.getMapper(IStudentDao.class);
除此之外,发现还需要配置sqlSessionFactory,但是在mapperFactoryBean这个类没有发现,但是发现他继承自SqlSessionDaoSupport类,发现其中有setSqlSessionFactory()方法,说明MapperFactoryBean可以继承这个方法,从而拥有sqlSessionFactory属性。
在配置文件中,sqlSessionFactory指向的类为SqlSessionFactoryBean,打开源码,发现有dataSource属性,configLocation属性,dataSource配置数据源,configLocation属性,可以看上面的注释,a typical value is “WEB-INF/mybatis-configuration.xml”,所以配置的时候使用的是value,由于项目自身并不是一个WEB工程,所以value指向的是类路径下的mybatis.xml文件。
上图中,SqlSessionFactoryBean中海油mapperLocations属性,如果在mybatis.xml文件中配置<mapper>标签,则无需配置这个属性。
https://www.cnblogs.com/chihirotan/p/6591425.html这个网址有一些关于SqlSessionFactoryBean的源码解析
今往Github上上传文件时发现传错了,删除文件的方法,参考下面链接
https://www.cnblogs.com/muxiaoyi/p/6257648.html
明天的计划:
看了几篇使用SpringMVC完成REST接口的文章,发现基本上都是使用注解完成的,因为曾经被告知,开发的时候最好用配置文件来配置而不是注解,所以注解用的不是很熟练,明天试着用注解先完成一个简单的小程序,然后看能不能用配置文件的方式再实现。
遇到的问题:刚开始不知道spring与mybatis整合还需要mybatis-spring这个jar,之前编写的mybatis程序都有工具类,这个工具类中有静态方法,然后就在这个工具类望spring中如何注入与获取卡了一段时间,后来发现,开发环境中配置了mybatis-spring这个jar包后,就不需要mybatis工具类来获取SqlSession了,可以直接交给spring容器来完成这些工作。
评论