struts2+spring+mybatis入门三

来源:互联网 发布:VPN连接用哪个端口 编辑:程序博客网 时间:2024/05/01 13:01
此文是在http://blog.csdn.net/daxiang12092205/article/details/18100239这篇文章的基础上实现的,将其在MyEclipse上实现,我的MyEclipse使用的TomCat,原博主使用的WebLogic,所以我做了些修改。尊重原创,本篇视为转载。

相关jar包下载

在这里先啰嗦一下,本片文章使用的数据库是oracle,tomcat,在oracle中新建了一张表,table_test,有两列,分别是name、code。

1、将相关jar包拷贝到拷贝到web-inf/lib下,修改spring.xml,配置数据源及mybatis的SqlSessionFactoryBean。spring.xml代码:

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd"><!-- 采用注释的方式配置bean --><!-- 启用spring注解支持 --><context:annotation-config /><!-- 该 BeanPostProcessor 将自动对标注 @Autowired 的 Bean 进行注入 --><beanclass="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /><!-- 配置要扫描的包 --><context:component-scan base-package="com.xy6"></context:component-scan><bean id="demoAction" class="com.xy6.DemoAction" /><!--配置mybatis --><!-- 配置DataSource数据源 --><!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="123456" /> </bean> --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><property name="username" value="user_tcc"></property><property name="password" value="tcc123"></property><property name="driverClassName" value="oracle.jdbc.OracleDriver"></property><property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"></property><property name="maxActive" value="15"></property></bean><!--创建sqlSessionFactory --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="configLocation" value="/WEB-INF/sqlMapConfig.xml"></property><property name="dataSource" ref="dataSource" /></bean></beans>
2、在web-inf根目录下新建文件sqlMapConfig.xml,配置mybatis相关参数。sqlMapConfig.xml代码:
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><typeAliases><typeAlias alias="demoVO" type="com.xy6.DemoVO" /></typeAliases><mappers><mapper resource="com/xy6/demo.xml" /></mappers></configuration>

3、在com.xy6包下新建mybatissql配置文件demo.xml,配置操作数据库的各种sql语句。demo.xml代码:
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="demo"><resultMap id="demoVO" type="demoVO"><result property="code" column="code" /><result property="name" column="name" /></resultMap><select id="selectByCode" resultMap="demoVO"> select code, name from table_test              where code = #{code} </select></mapper>

4、在com.xy6下新建VO类DemoVO.java,对应sql查询出的数据表字段。DemoVO.java代码:
package com.xy6;public class DemoVO {private static final long serialVersionUID = 1L;private int code;private String name;public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String toString() {String strTemp = "";strTemp += "code:";strTemp += this.getCode();strTemp += "\n";strTemp += "name:";strTemp += this.getName();strTemp += "\n";return strTemp;}}

5、在com.xy6包下新建DemoDao类DemoDao.java,调用mybatis操作数据库的接口实现操作数据库。DemoDao.java代码:
package com.xy6;import java.util.List;import org.mybatis.spring.support.SqlSessionDaoSupport;public class DemoDao extends SqlSessionDaoSupport {public List<DemoVO> selectByCode(DemoVO demoVO) {return getSqlSession().selectList("selectByCode", demoVO);}}

7、修改spring.xml,注册DemoDao实体bean。spring.xml代码:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd"><!-- 采用注释的方式配置bean --><!-- 启用spring注解支持 --><context:annotation-config /><!-- 该 BeanPostProcessor 将自动对标注 @Autowired 的 Bean 进行注入 --><beanclass="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /><!-- 配置要扫描的包 --><context:component-scan base-package="com.xy6"></context:component-scan><bean id="demoAction" class="com.xy6.DemoAction" /><!--配置mybatis --><!-- 配置DataSource数据源 --><!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="123456" /> </bean> --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><property name="username" value="user_tcc"></property><property name="password" value="tcc123"></property><property name="driverClassName" value="oracle.jdbc.OracleDriver"></property><property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"></property><property name="maxActive" value="15"></property></bean><!--创建sqlSessionFactory --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="configLocation" value="/WEB-INF/sqlMapConfig.xml"></property><property name="dataSource" ref="dataSource" /></bean><bean id="demoDao" class="com.xy6.DemoDao"><property name="sqlSessionFactory" ref="sqlSessionFactory" /></bean></beans>

8、修改DemoAction.java,调用DemoDao中的selectByCode方法实现读取数据库。DemoAction.java代码:

package com.xy6;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import com.opensymphony.xwork2.ActionSupport;public class DemoAction extends ActionSupport {public static final long serialVersionUID = 1L;@Autowiredprivate DemoHelper demoHelper = new DemoHelper();@Autowiredprivate DemoDao demoDao;public String execute() {System.out.println("---curren year:" + demoHelper.getCurYear());DemoVO demoVO = new DemoVO();demoVO.setCode(1);List<DemoVO> listDemoVO = demoDao.selectByCode(demoVO);for (int i = 0; i < listDemoVO.size(); i++) {System.out.println("---i:" + listDemoVO.get(i).toString());}return "success";}}

 

9、重启tomcat,浏览器中访问http://localhost:8080/SSM/demo.action,页面显示demo.jsp,控制台输出

---curren year:2014
---i:code:1
name:tang

这样,一个简单的SSM框架就算搭建完成了,自己动手试试吧!
源码下载



0 2