1. 创建项目

2. 添加Spring能力

使用MyEclipse自动加载Struts2和Spring的jar包和配置文件,并在web.xml文件中添加上下文和监听器

web.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- 上下文 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 监听 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping></web-app>

3. 添加mybatis.jar、mybatis-spring-1.2.0.jar和mysql-connector-java-5.1.26-bin.jar

4. 编写mybatis和spring配置文件

创建mybatis的配置和实体类的映射文件

在spring配置文件中添加数据源和sqlSessionFactory,spring可以管理实体bean的映射文件,自动创建别名,这样子就可以省略mybatis.xml配置文件

实体java代码:

package com.it.entity;

import java.sql.Date;

public class Stu {
private int sid;
private String sname;
private String ssex;
private Date sbirth; public Stu() {
super();
// TODO Auto-generated constructor stub
} public Stu(int sid, String sname, String ssex, Date sbirth) {
super();
this.sid = sid;
this.sname = sname;
this.ssex = ssex;
this.sbirth = sbirth;
} public int getSid() {
return sid;
} public void setSid(int sid) {
this.sid = sid;
} public String getSname() {
return sname;
} public void setSname(String sname) {
this.sname = sname;
} public String getSsex() {
return ssex;
} public void setSsex(String ssex) {
this.ssex = ssex;
} public Date getSbirth() {
return sbirth;
} public void setSbirth(Date sbirth) {
this.sbirth = sbirth;
} }

实体映射文件Stu.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="stu">
<select id="findAll" resultType="Stu">
<!-- CDATA节 -->
<![CDATA[select * from stu]]>
</select>
</mapper>

application.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <!-- 数据源 -->
<bean id="ds" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="username" value="root"/>
<property name="password" value="ok"/>
</bean>
<!-- session工厂 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ds"/>
<!-- spring管理实体bean的映射文件 -->
<property name="mapperLocations">
<list>
<value>classpath:com/it/entity/Stu.xml</value>
</list>
</property>
<!-- 自动创建别名 -->
<property name="typeAliasesPackage" value="com.it.entity"/>
</bean>
<!-- Dao -->
<bean id="stuDao" class="com.it.dao.impl.StuDaoImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
<!-- Biz -->
<bean id="stuBiz" class="com.it.biz.impl.StuBizImpl">
<property name="stuDao" ref="stuDao"/>
</bean>
<!-- Action -->
<bean id="stuAction" class="com.it.action.StuAction">
<property name="stuBiz" ref="stuBiz"/>
</bean>
</beans>

5. 编写代码

DaoImple继承SqlSessionDaoSupport,自动获取sqlSession,不需要人为的去创建和关闭

代码依次为entity、Dao、DaoImpl、Biz、BizImpl、Action和Test,最后创建jsp文件和配置struts.xml

DaoImpl.java文件如下:

package com.it.dao.impl;

import java.util.List;

import org.mybatis.spring.support.SqlSessionDaoSupport;

import com.it.dao.StuDao;
import com.it.entity.Stu; public class StuDaoImpl extends SqlSessionDaoSupport implements StuDao { public List<Stu> findAll() {
return this.getSqlSession().selectList("stu.findAll");
} }

struts.xml文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="xx" namespace="/" extends="struts-default">
<action name="doList" class="stuAction" method="doList">
<result>list.jsp</result>
</action>
</package>
</struts>

最新文章

  1. Markdown学习和插件介绍
  2. 《CoffeeScript应用开发》学习:第二章 编写第一个CoffeeScript应用程序
  3. Django - 获取请求方式
  4. android手机自带浏览器无法识别apk文件
  5. hdu 4869
  6. 【Hibernate】--一对一关联、联合主键
  7. ZOJ-3597-Hit the Target!(线段树+扫描线)
  8. P1337 fibonacci数列(tyvj)
  9. 小明系列问题——小明序列(Lis 相距大于d的单调上升子序列)
  10. WebService对跨域的支持
  11. Kafka学习-简介
  12. 简单理解java中timer的schedule和scheduleAtFixedRate方法的区别
  13. [Swift]LeetCode823. 带因子的二叉树 | Binary Trees With Factors
  14. 02_编写Table的CRUD
  15. zookeeper脑裂
  16. 【转】关于TCP 半连接队列和全连接队列
  17. 定时执行任务FluentScheduler
  18. json格式对象大括号中不能把键改为变量问题
  19. 【BZOJ 3622】3622: 已经没有什么好害怕的了(DP+容斥原理)
  20. linux基础命令学习 (七)压缩解压

热门文章

  1. 使用pyintaller打包python3.6项目,并用c#调用该脚本
  2. 计蒜客 方程的解数(DFS)
  3. 在线公开课 | 5G时代的视频云服务关键技术与实践
  4. 吴裕雄--天生自然深度学习TensorBoard可视化:projector_MNIST
  5. Codeforces 1295D Same GCDs
  6. UI自动化(selenium+python)之浏览器驱动chromedriver安装和配置
  7. OfficeidMsoViewer最新版
  8. Linux基础篇七:Linux的命令执行
  9. 场景实践篇一:Nginx负载均衡配置
  10. 代码死循环导致cpu使用率过高