struts+mybatis+spring集成说明.docx_第1页
struts+mybatis+spring集成说明.docx_第2页
struts+mybatis+spring集成说明.docx_第3页
struts+mybatis+spring集成说明.docx_第4页
struts+mybatis+spring集成说明.docx_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Struts+MyBatis+Spring一. 新建web工程,导入spring支持,与ssh相同.二. 导入MyBatis核心包,以及MyBatis集成spring的jar包(就两个jar包),这里使用的是mybatis-3.0.4.jar和mybatis-spring-1.0.0.jar.三. 导入struts2支持,并配置好web.xml文件,与ssh相同.四. 建立好项目包结构(这里以oracle中的两个表为例scott.emp和scott.Dept表),同样是三层,并写好pojo类(pojo类中存在的一对多或者是多对一等等关系,同hibernate一样,多对一用对象表示,一对多用set集合表示)五至此,一切的准备工作都搞好了,接下来就是如何运用MyBatis这个ORM框架来实现Dao层的功能了.六. Mapper层就相当于以前的Dao层,先建立对应于pojo类的Mapper接口,一般是有几个pojo类就有几个Mapper接口(也就是以前的Dao接口),在每个Mapper接口中声明几个常用的增、删、改、查的方法(和以前是一样的),Mapper接口完成以后,就没必要写Mapper接口的实现类了.MyBatis与hibernate的不同之处就在于这里,它是将一系列的sql语句写入xml文件中,然后通过它自己的类来实现这些增删改查方法的。七. 新建与Mapper接口对应的xml映射文件. 八.接下来就是如何配置这一系列的xml文件了,如何配置这些xml文件就是MyBatis的精髓所在. 这里以DepartmentMapper.xml配置为例,介绍一些常见的配置元素的作用以及使用方法.a. mapper元素,整个映射文件的根元素,它其中的namespace必须与Mapper接口的权限定名称一样,否则就映射不了了.b. insert元素用于映射插入操作,元素的内容为插入的sql语句,它其中的id属性必须与对应Mapper接口的中用于插入操作的方法名相同,parameterType属性用于指定参数类型.对于insert语句中主键的生成问题,如果对应的数据库支持自动增长,则只需要添加useGeneratedKeys属性,并将其值设为true,如果数据库为oracle,也可使用selectKey子元素来生成主键,可以在selectKey中使用查询序列的select语句来生成主键,selectkey子元素中的keyProperty属性指定那个字段为主键,resultType属性用于指定返回值,order属性表示在插入语句之前或之后来查询主键c. update元素用于映射修改操作,元素的内容为修改的sql语句,其中的id和parameterType属性同insert元素中的.d. delete元素用于映射删除操作,元素的内容为删除的sql语句,其中的id和parameterType属性同insert和udate元素中的.e. select元素用于映射查询操作,元素的内容为查询的sql语句,其中的id和parameterType属性同前面三者的.其中的resultType属性用于指定不是连接查询返回的结果类型(可以是某个pojo类,也可以是某个int或者string等类型,关键是看select后面返回的是单个字段还是*),但对于select语句是连接查询的,它的返回结果就不能用单单的一个resultType来接受,必须自己自定义一个返回类型,然后在select元素中通过它的resultMap属性来引用,这里以查询所有的部门信息为例:一个部门除了有它自己本身的一些基本信息外,还包括这个部门有哪些员工(一对多的关系),而这种一对多的关系表现在pojo类中就是一个set集合,如何将联接查询结果中的所有部门对应的员工信息全部添加到set集合中呢?f. resultMap元素用于自定义某种类型,来指定如何映射联接查询返回的结果并保存到相应的集合或者pojo类型中.它其中的id属性有自己指定,select中的resultMap属性的值就是引用的这个id,type属性为pojo类的类型.1. 子元素id用于映射主键,它其中的property属性是pojo类中的属性名,column属性是表中的字段名.2. result子元素用于映射普通字段,其中的property和column属性同id元素的.3. Collection元素,复杂类型的集,处理多对一关系的,在这里就是来映射部门中的员工信息到部门pojo类中的员工set集合中.它其中的属性的值就是pojo类中的集合属性名,ofType属性用于指定集合中存放的是那种类型的pojo类,在这里就是Employee的pojo类型.该元素的子元素id和result和resultMap中配置的一样,只不过这里配置的是员工类的基本映射信息了.然而当配置员工映射信息时,遇到该pojo类中有一个department的引用,该怎么配置呢?4. Association元素,该元素就是处理上面的那种一对多关系的,其中的property用于指定pojo类中的属性名,column用于指定该属性名在表中对应的是哪个外键字段名,javaType用于指定映射到哪个pojo类,这里是department类,该元素中的子元素如id和result同上面的配置. 九.到这一步,映射文件都配置好了并写好service层和action层,接下来就是如何在applicationContext.xml中注入这些映射器了. 1.配置数据源(dataSource),同hibernate一样. 2.配置sessionFactoy3.配置一系列的映射器(即Mapper接口,hibernate中配置的是dao接口的实现类,这里是Mapper接口).十.Struts+Mybatis+Hibernate的基本继承到此结束,未完不待续. 4.配置service层(同hibernate一样,只是这里不是注入dao了,注入的是mapper接口). 5.配置事务,使用Mybatis配置事

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论