首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

mybatis3.0+spring3.0+struts2调整

2012-11-19 
mybatis3.0+spring3.0+struts2整合由于spring暂不支持ibatis3,但是mybatis3自己开发了一套针对spring的支

mybatis3.0+spring3.0+struts2整合

由于spring暂不支持ibatis3,但是mybatis3自己开发了一套针对spring的支持,所以整合中引入了mybatis_spring的jar包。

具体的项目结构图如下

?

mybatis3.0+spring3.0+struts2调整

?

在整合之前,参考了不少网上的资料,但是发现其中有过多的配置文件,我在配置中,依靠mybatis本身的映射机制以及spring的注解机制,把配置文件尽量的减少了。可以参考http://diqizhan.iteye.com/blog/582150的配置。

?

?

主要的配置文件applicationContext.xml代码如下:

?

?

使用一个MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBeans。

?

basePackage属性是让你为映射器接口文件设置基本的包路径。你可以使用分号或逗号作为分隔符设置多于一个的包路径

?

?

?

没有必要去指定SqlSessionFactory 或SqlSessionTemplate,因为MapperScannerConfigurer将会创建MapperFactoryBean,之后自动装配。

?

?

@service是用于服务层的类文件。

@Autowired用来注入。

例如

@Autowired

private ConsumerMapper consumerMapper;

相当于new了一个ConsumerMapper的类。

需要在配置文件中进行以下配置

?

<context:annotation-config />
<tx:annotation-driven />?

?

?

?

?用来定义javabean的包位置,这样在mybatis的sql映射文件中,就可以该包下的类的简写(首字母小写)来定义,而不用定义该类的所在包的位置

?

?

?

?

web.xml 代码如下:

?

?

主要是配置了项目启动时,加载的配置文件contextConfigLocation的文件,以及struts的一些基本配置。

?

?

接下来以一个验证登陆的实例来说明

?

登陆页面主要代码如下:

?

?

?

?

由于是ajax的提交,我选择了json格式的返回值,所以在项目中,我还引入了json的jar包。因此在配置中多了几项内容。

?

?

?

?

?

如果不需要格式的返回值,那么改为struts的默认格式

?

?

?

?

Consumer.java的代码如下:

?package com.whatlookingfor.domain;

import java.io.Serializable;import com.whatlookingfor.base.PageInfo;public class Consumer extends PageInfo<Consumer> implements Serializable{/** *  */private static final long serialVersionUID = -4075669481168367315L;private String account;private String password;public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
?

?

?

OK,至此,所有的代码已经全部贴完。

数据库就一张表?TB_CONSUMER,有两个字段 account,和password。?

?

主要引入的jar包有spring的核心包,struts2的核心包,mybatis3.0的jar包,mybatis_spring 1.0jar包,json的jar包(jsonplugin-0.32.jar),使用的时候注意0.32和0.34的区别。

热点排行