spring mvc+spring+mybatis+maven整合篇(一)
2015-10-20 21:49
507 查看
项目结构图:
整合思路:
1.使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件;
2.将mybatis+spring进行整合;
3.用spring-test的SpringJUnit4ClassRunner+Junit进行单元测试;
4.将spring mvc+spring+mybatis进行整合;
Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。参考文章:http://www.cnblogs.com/smileberry/p/4145872.html。
在spring-mybatis.xml中配置通过动态代理生成Mapper的代理类:
通过上图我们可以发现我们配置的spring版本和mybatis-spring依赖的版本冲突,我们需要做的是统一为3.1.1版本,配置为如下图所示效果:
使用SpringJUnit4ClassRunner+Junit进行单元测试,如果测试通过则可以进行下一步的工作。
关于spring mvc+spring+mybatis+maven的整合先到此,下一篇文章继续讲解spring mvc+spring+mybatis+maven的整合过程。
整合思路:
1.使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件;
2.将mybatis+spring进行整合;
3.用spring-test的SpringJUnit4ClassRunner+Junit进行单元测试;
4.将spring mvc+spring+mybatis进行整合;
Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。参考文章:http://www.cnblogs.com/smileberry/p/4145872.html。
在spring-mybatis.xml中配置通过动态代理生成Mapper的代理类:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="sy.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean>这里需要注意的是jar包冲突问题,比如我们在pom文件中配置是spring的3.2.0版本,而mybatis-spring依赖的是spring的3.1.1版本,我在搭建环境时一直报无法创建Mapper代理类的错误,解决了好长时间,最后发现是jar包冲突问题。
通过上图我们可以发现我们配置的spring版本和mybatis-spring依赖的版本冲突,我们需要做的是统一为3.1.1版本,配置为如下图所示效果:
使用SpringJUnit4ClassRunner+Junit进行单元测试,如果测试通过则可以进行下一步的工作。
package sy.test; import org.apache.log4j.Logger; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import sy.model.User; import sy.service.UserService; import com.alibaba.fastjson.JSON; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:spring.xml", "classpath:spring-mybatis.xml" }) public class TestMybatis { private static final Logger logger = Logger.getLogger(TestMybatis.class); private UserService userService; @Test public void test1() { User user = userService.getUserById("1"); logger.info(JSON .toJSONStringWithDateFormat(user, "yyyy-MM-dd hh:mm:ss")); } public UserService getUserservice() { return userService; } @Autowired public void setUserservice(UserService userservice) { this.userService = userservice; } }越来越发现maven的强大,方便的为我们从中央仓库下载jar包,通过Dependency Hierarchy视图可以查看jar包的依赖关系及是否冲突,更重要的是在调试阶段还可以自动从中央仓库下载jar包的源码。
关于spring mvc+spring+mybatis+maven的整合先到此,下一篇文章继续讲解spring mvc+spring+mybatis+maven的整合过程。
相关文章推荐
- eclipse或myeclipse常用配置和快捷键
- Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- web service DEMO: C#提供web service,java进行调用asmx
- 日常总结(一)eclipse或myeclipse模板设置
- struts2 表单处理
- Java反射实例-Reflect
- Java 中关于原码,反码,补码的问题及常用的逻辑运算
- Java设计模式1:设计模式概论
- JAVA中,嵌套类的介绍
- Mac上安装多个jdk并自由切换
- java生成xml
- 找出两个字符串中最大的公共子串(java实现)
- Java:对象的持久化与序列化
- 发博客测csdn博客
- 黑马程序员--Java学习日记之eclipse开发工具的熟练使用
- Struts2动态方法调用
- Java学习备忘(一)之一
- Java学习笔记(一)窗体
- java switch支持的数据类型