现在主流的项目框架中,数据库持久层有可能不是hibernate,而是mybatis或者ibatis,其实它们都是一样的,下面我来把环境搭建一下:
【导入相关jar包】新建web项目工程mss,Spring+Struts2+mybatis整合,除了Spring和Struts的jar包外(可以在我的资源中下载),我们还需导入mybatis的几个想jar包:
三大框架整合后jar包:
【配置web.xml】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
【Spring公共配置 applicationContext-common.xml】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
数据库配置文件jdbc.properties:
【struts2公共配置】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
【创建数据表结构】:项目中我们使用的是mysql数据库,在里面新建了一个user表:
【搭建项目结构】:这里我使用了三层架构:Action-->Service-->Dao(实体类)
编写user实体类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
编写我们的dao层UserDao:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
使用mybatis,我们得配置xml文件,将实体类User与表user映射,也将UserDao中的方法进行映射实现,这样我们不需要写UserDaoImpl,因为对数据库的操作也在这个xml中进行:UserDao.xml,这个很重要
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
编写我们的Service和ServiceImpl类,操作Dao层:UserService、UserServiceImpl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
|
编写Action,操作Service,UserAction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
|
整体代码结构:
其中,跟mybatis相关最大的一个就是UserDao.xml文件了,我们的所有对数据库的操作和方法都可以在里面进行相应的配置和参数设置,只要将相应的名称设置和匹配好,mybatis就能够自动调用
【配置我们自己的spring xml文件:applicationContext-user.xml】,其中mybatis和spring集成的下面属性配置很重要:,下面有相应注解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
【配置自己的Struts xml:struts-user.xml】
1 2 3 4 5 6 7 8 9 10 11 |
|
【项目中我们用到了log4j,配置log4j.properties】
项目的基础配置基本完成,编写我们的视图层,上面Action中我们跳转到了UserList.jsp,编写我们的jsp显示页面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
好了,基础环境基本上已经搭建完成,将项目部署到Tomcat上,启动Tom家的猫,如果没报错,说明我们项目搭建成功,输入下面地址:http://localhost:8080/MybatiesSS/userAction!queryUsers.do,如果数据库中没有数据,则加入相应数据,如果显示出相应的数据库记录,说明我们项目搭建成功!
完整项目可在我的资源库中下载:http://download.csdn.net/detail/harderxin/7308169
相比较hibernate来说:
hibernate:要编写实体类和实体类相映射数据库表的xml文件,然后操作数据库使用hibernate封装的java类接口
mybatis:编写实体类、实体类相映射数据库表的xml文件、对数据方法操作xml文件,其对数据库的操作也在xml文件中定义,基本上使用的是纯sql语句
1 |
|
要比较hibernate与mybatis的区别,大家还可以参考博客:http://blog.csdn.net/firejuly/article/details/8190229
上面只是粗略的讲解了一下mybatis与Spring和struts的项目整合,并没有对mybatis有很详细的讲解,其实它学起来也挺容易的,希望大家有时间能自己去了解一下!!
转自http://www.2cto.com/kf/201412/364356.html