搭建struts2+Spring+Ibatis

依葫芦画瓢 。照着项目弄了这个东东。应某人要求,所以就简单的写下步骤:

SSI (Struts2 + Spring + Ibatis ) 整体框架如下:


首先是 lib 下的jar 包 有:
* Struts2依赖包 (大概是 7 个)
* Spring依赖包
* ibatis依赖包 (ibatis-2.3.4.726.jar )
* 连接 mysql 的 jar 包   (mysql-connector-java-5.1.13.jar)
* JSTL依赖包
* 提供DBCP连接池
* Struts2和Spring集成插件 (所需的jar包  struts2-srping-plugin-2.1.8.jar)
* 提供Struts2的配置文件struts.xml
* 修改web.xml,配置Strut2的中央控制器StrutsPrepareAndExecuteFilter
* 提供Spring的配置文件
* 修改web.xml,配置ContextLoaderListener,当服务器启动时创建SqlMapClient
* 提供ibatis配置文件和log4j.properties

数了一下大概有55个jar 包
一、sqlmap.properties  是连接数据库mysql的配置信息如下:
以下是(针对Mysql的JDBC驱动) 用户名是root  密码是root

二、为了映射配置我们需要创建 sqlMapConfig.xml 来指定如下信息:

sql语句描述就在loginfo.xml 里
sqlMapConfig.xml主要是负责为我们的程序执行SQL查询


接下来看看com/mybatis/bean/loginfo.xml里的内容如下:
备注:只是个简单的 select 查询


三:application.xml

与SSH 类似的、区别就在于:
 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
        <property name="configLocation">
            <value> classpath:sqlMapConfig.xml</value>
        </property>
        <property name="dataSource" ref="dataSource" />
    </bean>

相对应的Dao类引用的也就是sqlMapClient :
<bean id="loginfoDao" class="com.mybatis.dao.LoginfoDao">
        <property name="sqlMapClient" ref="sqlMapClient"></property>
  </bean>

这样所有的配置基本完成了!最后就是如何使用
四:Util 类 是从sqlMapConfig.xml 读取配置 (查询出来的数据)


五:Dao类
例如:LoginfoDao
getLoginfoById 就是在loginfo.xml 查询 select 定义的 id

分页查询可以用:
             list = (List<Loginfo>)sqlMapClient.queryForList("getList", null, skip, max);
注:skip是从0开始计算的,而max就是取出的条数,那么取前10条就是(0,10),取11~20条就是(10,10)
 
Login action:


好了。这个是我搭建SSI 的基本步骤。已经运行成功了!O(∩_∩)O~

注:hibernate 与 ibatis 的对比
hibernate 是自动化的O/R MAPPING 不需要自己写sql,但是对hibernate的熟悉程度要求比较高。ibatis是半自动化 O/R MAPPING ,需要自己实现sql,它只是作了一个对象,数据库结果集的映射关系,比较灵活。
 
以上代码还是有待改善的!上面说了那么多;无非表达的思路就是:
action——>Service——>Dao——>Utils读取配置文件——>通过Web.xml/Application.xml——>sqlMapConfig.xml——>logininfo.xml——> 进而得到你的Sql语句进行查询
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值