第十讲 整合Struts2和MyBatis
来源:互联网 发布:java移动端服务端 编辑:程序博客网 时间:2024/06/05 15:13
一、导入jar包
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.10</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.8</version>
</dependency>
<dependency>
<groupId>org.apache.struts.xwork</groupId>
<artifactId>xwork-core</artifactId>
<version>2.3.31</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.5.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.2.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
二、web.xml配置文件
<?xmlversion="1.0"encoding="UTF-8"?>
<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>spring_struts2_mybatis</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!-- 配置spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 当服务器容器启动的时候,会自动读取contextConfigLocation,也就是beans.xml -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</web-app>
三、mybatis配置文件(mybatis-config.xml)
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEconfigurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<packagename="com.liujie.model"/>
</typeAliases>
<mappers>
<mapperresource="com/liujie/model/user.mapper.xml"/>
</mappers>
</configuration>
四、编码
UserDao接口:
publicinterfaceUserDao {
publicList<User> getAll();
}
UseDaoImpl实现:
publicclassUserDaoImpl extendsSqlSessionDaoSupportimplementsUserDao {
publicList<User> getAll() {
returnthis.getSqlSession().selectList("com.liujie.model.UserMapper.getAll");
}
}
UserDaoService接口:
publicinterfaceUserService {
publicList<User> getAll();
}
UserServiceDaoImpl实现:
publicclassUserServiceImpl implementsUserService {
privateUserDaouserDao;
publicvoidsetUserDao(UserDao userDao) {
this.userDao=userDao;
}
publicList<User> getAll() {
returnuserDao.getAll();
}
}
UserAction:
publicclassUserAction {
privateList<User>list;
privateUserServiceuserService;
publicvoidsetUserService(UserService userService) {
this.userService=userService;
}
publicList<User> getList() {
returnlist;
}
publicvoidsetList(List<User> list) {
this.list=list;
}
publicString list() {
list=userService.getAll();
return"success";
}
}
spring配置文件:
applicationContext.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- 配置数据源 -->
<beanid="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName"value="com.mysql.jdbc.Driver"></property>
<propertyname="url"value="jdbc:mysql://localhost:3306/test"></property>
<propertyname="username"value="root"></property>
<propertyname="password"value="123456"></property>
</bean>
<!-- 声明式事务配置 -->
<!-- 配置事务管理器 -->
<beanid="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<propertyname="dataSource"ref="dataSource"/>
</bean>
<!-- 配置事务通知 -->
<tx:adviceid="txAdvice"transaction-manager="txManager">
<tx:attributes>
<!-- 配置哪些方法使用什么样的事务,配置事务的传播特性 -->
<tx:methodname="add"propagation="REQUIRED"/>
<tx:methodname="insert"propagation="REQUIRED"/>
<tx:methodname="update"propagation="REQUIRED"/>
<tx:methodname="delete"propagation="REQUIRED"/>
<tx:methodname="remove*"propagation="REQUIRED"/>
<tx:methodname="get"read-only="true"/>
<tx:methodname="*"propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!-- 切入点应该是service.impl下的所有类的所有方法,这里为了方便测试所以直接用了dao.impl -->
<aop:pointcutexpression="execution(* com.liujie.dao.impl.*.*(..))"
id="pointcut"/>
<aop:advisoradvice-ref="txAdvice"pointcut-ref="pointcut"/>
</aop:config>
<!-- 声明式事务配置结束 -->
<!-- 配置sqlSessionFactory -->
<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<propertyname="dataSource"ref="dataSource"></property>
<propertyname="configLocation"value="classpath:mybatis-config.xml"></property>
</bean>
<importresource="config/spring/user.xml"/>
</beans>
user.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<beanid="userDao"class="com.liujie.dao.impl.UserDaoImpl">
<propertyname="sqlSessionFactory"ref="sqlSessionFactory"></property>
</bean>
<beanid="userService"class="com.liujie.service.impl.UserServiceImpl">
<propertyname="userDao"ref="userDao"></property>
</bean>
<beanid="userAction"class="com.liujie.action.UserAction"scope="prototype">
<propertyname="userService"ref="userService"></property>
</bean>
</beans>
struts配置文件:
struts.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<includefile="config/struts/user.xml"></include>
</struts>
user.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<packagename="user"namespace="/"extends="struts-default">
<actionname="list"class="userAction"method="list">
<result>/list.jsp</result>
</action>
</package>
</struts>
mybatis配置文件:
mybatis-config.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEconfigurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<packagename="com.liujie.model"/>
</typeAliases>
<mappers>
<mapperresource="config/mybatis/user.mapper.xml"/>
</mappers>
</configuration>
user.mapper.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEmapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mappernamespace="com.liujie.model.UserMapper">
<selectid="getAll"resultType="User">
select * from user
</select>
</mapper>
list.jsp页面:
<%@pagelanguage="java"contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPEhtmlPUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<tablewidth="80%"align="center">
<tr>
<td>编号</td>
<td>姓名</td>
<td>密码</td>
</tr>
<c:forEachitems="${list}"var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.pwd}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
阅读全文
0 0
- 第十讲 整合Struts2和MyBatis
- 第九讲 整合MyBatis
- struts2、Spring和mybatis的整合
- spring和mybatis ,hibernate, struts2框架整合
- spring + struts2 + mybatis整合
- struts2+MyBatis框架整合
- spring+struts2+mybatis整合
- struts2 spring mybatis整合
- struts2+spring+mybatis整合
- Spring+Struts2+Mybatis整合
- spring+struts2+mybatis整合
- spring+mybatis+struts2整合
- Struts2、Mybatis、Spring整合
- Struts2和MyBatis的整合和ResultMap的使用
- 【SpringMVC整合MyBatis】springmvc和struts2的区别
- Struts2、Spring3.2.4、Mybatis和Mysql数据库整合开发
- 【SpringMVC整合MyBatis】springmvc和struts2的区别
- mybatis+spring+struts2框架整合
- spring boot 项目增加flyway的使用遇到问题解决
- Cocos2dx 事件响应机制(1): GLView
- S-数独
- 【PMP认证考试之个人总结】第 2 章 组织和项目生命周期及管理过程
- USACO 1.2 transform
- 第十讲 整合Struts2和MyBatis
- C++虚函数五问
- Kotlin--基本
- POJ 1410 Intersection 笔记
- python学习之——with as语句
- eclipse快捷健大全
- 基于检索与深度神经网络的人机对话
- 用简单的方式讲解KMP算法
- 第十一讲 使用注解开发