struts2 spring mybatis整合
来源:互联网 发布:淘宝整点抢购 编辑:程序博客网 时间:2024/05/17 23:09
工程结构
需要引入的包
开发步骤
1.分层(MVC )
我分别建了5个包来进行分层:bean、dao、service、service.impl、action
2.编写框架配置文件
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <include file="struts-default.xml" /> <package name="default" extends="struts-default"> </package></struts>
mybatis的config.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration></configuration>
db.properties:
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/ssmusername=rootpassword=root
log4j.properties
# Set root logger level to error (DEBUG,INFO,WARN,ERROR,FATAL)log4j.rootLogger=WARN, Console, File#log4j.rootLogger=DEBUG, Console, File###### Console appender definition ######## All outputs currently set to be a ConsoleAppender.log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.Target=System.outlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{3}] %m%n#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n###### File appender definition #######log4j.appender.File=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.File.File=spring.loglog4j.appender.File.Append=falselog4j.appender.File.layout=org.apache.log4j.PatternLayoutlog4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
applicationContext.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>classpath:db.properties</value> </property> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>${driver}</value> </property> <property name="url"> <value>${url}</value> </property> <property name="username"> <value>${username}</value> </property> <property name="password"> <value>${password}</value> </property> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="classpath:config.xml"></property> <property name="dataSource" ref="dataSource"></property></beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" 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_3_0.xsd"> <display-name></display-name> <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> <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> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value></context-param><context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value></context-param><listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener></web-app>
3.代码开发(注册功能)
V层
(1)index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE html><html><head> <base href="<%=basePath%>"> <title>注册</title> <meta charset="utf-8"><link rel="stylesheet" type="text/css" href="./css/style.css"></head><body> <form action="user_add" method="post"> <label>注册用户:</label><br/> <label>用户名:</label> <input type="text" name="newUser.userName"><br/> <label>密码:</label> <input type="password" name="newUser.password"><br/> <input type="submit" value="注册"> <input type="reset" value="重置" > </form></body></html>
功能:填写注册信息,并提交到相应action
C层
(2)UserAction类
package com.ssmtest.action;import com.opensymphony.xwork2.ActionSupport;import com.ssmtest.bean.User;import com.ssmtest.service.IUserService;public class UserAction extends ActionSupport{ private static final long serialVersionUID = 1L; private User newUser; private IUserService userService; public String add() throws Exception{ userService.addUser(newUser); return SUCCESS; } public User getNewUser() { return newUser; } public void setNewUser(User newUser) { this.newUser = newUser; } public IUserService getUserService() { return userService; } public void setUserService(IUserService userService) { this.userService = userService; } }
通过service接口调用userService的add方法
M层
(3)IUserService接口
package com.ssmtest.service;import com.ssmtest.bean.User;public interface IUserService { public void addUser(User user);}
(4)UserServiceImpl实现类
package com.ssmtest.service.impl;import com.ssmtest.bean.User;import com.ssmtest.dao.UserDao;import com.ssmtest.service.IUserService;public class UserServiceImpl implements IUserService{ private UserDao userDao; public UserDao getUserDao() { return userDao; } public void setUserDao(UserDao userDao) { this.userDao = userDao; } @Override public void addUser(User user) { userDao.addUser(user); }}
(5)UserDao.java
package com.ssmtest.dao;import com.ssmtest.bean.User;public interface UserDao { public void addUser(User user); public String delUser(int id); public String updateUser(User user); }
(6)
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.ssmtest.dao.UserDao"> <select id="getUser" parameterType="int" resultMap="userResultMap"> select * from user where UserId=#{id} </select> <resultMap type="com.ssmtest.bean.User" id="userResultMap"> <id property="id" column="userId"/> </resultMap> <insert id="addUser" parameterType="User" > insert into user(userName,password) values(#{userName},#{password}) </insert> <delete id="delUser" parameterType = "int"> delete from user where id=#{id} </delete> <update id="updateUser" parameterType = "com.ssmtest.bean.User"> update user set userName=#{userName},password=#{password} where id=#{id} </update> <select id="getAllUser" resultType="com.ssmtest.bean.User"> select * from user </select></mapper>
(7)config.xml的configration标签内加入
<typeAliases> <package name="com.ssmtest.bean"/> </typeAliases> <mappers> <mapper resource="com/ssmtest/dao/UserDao.xml"/> </mappers>
(8)struts.xml的package中加入
<action name="*_*" class="com.ssmtest.action.UserAction" method="{2}"> <result name="success">/{1}/{2}_success.jsp</result></action>
(9)applicationContext.xml中加入dao,service,action对应的3个bean
<bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> <property name="mapperInterface" value="com.ssmtest.dao.UserDao"/> </bean><bean id="userService" class="com.ssmtest.service.impl.UserServiceImpl"> <property name="userDao" ref="userDao"/></bean><bean id="userAction" class="com.ssmtest.action.UserAction"> <property name="userService" ref="userService"/> </bean>
0 0
- spring + struts2 + mybatis整合
- spring+struts2+mybatis整合
- struts2 spring mybatis整合
- struts2+spring+mybatis整合
- Spring+Struts2+Mybatis整合
- spring+struts2+mybatis整合
- spring+mybatis+struts2整合
- Struts2、Mybatis、Spring整合
- spring 整合 mybatis,struts2 整合 spring
- mybatis+spring+struts2框架整合
- mybatis+spring+struts2框架整合
- Struts2+mybatis+Spring的整合
- struts2+mybatis+spring框架整合
- mybatis+spring+struts2框架整合
- struts2 + spring + mybatis 整合配置文件
- mybatis+spring+struts2框架整合
- Struts2+spring+Mybatis框架整合
- Struts2+Mybatis+Spring的整合
- 扩展arcgis flex symbol 显示报表功能,显示饼状图和柱状图,非用infoSymbol实现(二)
- 【GOF】单例模式singleTon的再认识
- 【剑指offer-Java版】04替换空格
- WebView与Java的交互,WebView调用Java方法的几种方式
- C#的mysql数据库的配置
- struts2 spring mybatis整合
- iOS深入学习(Block全面分析)
- cocos2dx lua绑定
- 批处理命令findstr正则表达式的基本用法
- 图像特征提取:图像的矩特征
- 字符串分隔(使用substr实现)
- 【剑指offer-Java版】05从尾到头打印链表
- 装饰者模式
- 自动布局之masonry