依葫芦画瓢 。照着项目弄了这个东东。应某人要求,所以就简单的写下步骤:
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 的对比
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语句进行查询
action——>Service——>Dao——>Utils读取配置文件——>通过Web.xml/Application.xml——>sqlMapConfig.xml——>logininfo.xml——>