整合spring_struts2_mybatis
来源:互联网 发布:电影票房数据库 编辑:程序博客网 时间:2024/05/21 04:41
1.确定需求(明确要拥有的功能)
2.三层结构
表示层:用户操作界面(如果想访问数据库,要交给业务逻辑层)
业务逻辑层:负责关键业务处理和数据传递
数据访问层:实现数据库访问(封装对数据库的访问 data access object——dao)
3.设计原则
各层提供相应的接口,实现分离,对该类访问只能通过接口进行。
底层不能依赖高层的功能,避免结构的复杂。(依赖spring框架)
数据流是双向交换的。
1.当用到哪一个数据的时候,建立相应的数据库
三层结构:web<-service<-dao<-entity
2.配置mybatis
2.1 配置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>
<!--properties settings typeAliases typeHandlers objectfactory mappers
配置的时候要按照这个顺序来配置-->
<!--类型别名的配置-->
<typeAliases>
<package name="com.never.higou.entity"></package>
</typeAliases>
<!--映射文件的配置-->
<mappers>
<mapper resource="com/never/higou/dao/mapper/UserMapper.xml"/>
</mappers>
</configuration>
2.2 配置DAO层的实现文件(mapper)
<?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.never.higou.dao.UserDAO">
<resultMap id="UserResult" type="User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="password" column="password"/>
<result property="phoneNum" column="phoneNum"/>
<result property="money" column="money"/>
<result property="avatar" column="avatar"/>
<result property="regTime" column="regTime"/>
<result property="role" column="role"/>
</resultMap>
<!--id与userDAO中的方法对应-->
<insert id="addUser" parameterType="User">
insert into shop_user values(#{id},#{name},#{password},#{phoneNum},#{money},
#{avatar,jdbcType=varchar},#{regTime},#{role})
</insert>
</mapper>
2.3配置数据库连接信息,不过因为是整合spring一起使用,所以把数据库的配置放到spring中
3.配置spring,在运行的时候进行注入,编写的时候我们不用注意具体的实现,都交由bean实现
<?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.xsd">
<!--配置数据源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!--配置数据库-->
<property name="driverClassName" value="org.apache.commons.dbcp.BasicDataSource"/>
<property name="url" value="jdbc:mysql://localhost:3306/higou?useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!--让mybatis配置文件由spring来管理-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<!--mybatis 对应的mappers-->
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.never.higou.dao.UserDAO"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
<!--配置一个具体的实现-->
<bean id="userService" class="com.never.higou.service.impl.UserServiceImpl">
<property name="userDao" ref="userMapper"/>
</bean>
<!--配置 action-->
<bean name="userAction" class="com.never.higou.web.UserAction" scope="prototype">
<property name="userService" ref="userService"/>
</bean>
</beans>
4.配置struts2,Struts是controller层,实现业务逻辑
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apach.Software Fundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!--将action的实例化交给spring处理-->
<constant name="struts.objectFactory" value="spring"/>
<package name="higou" extends="struts-default">
<!--应用动态方法调用来配置action-->
<!--userAction 定义在spring中-->
<!--指定方法 method 是struts中提供的动态方法调用的语法-->
<action name="user_*" class="userAction" method="{1}">
<result name="regSuc">/login.jsp</result>
</action>
</package>
</struts>
5.在web.xml中配置struts2的过滤器和Spring的ContextLoadListener(全局配置)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<!--在项目启动的时候就会执行-->
<servlet>
<servlet-name>init</servlet-name>
<servlet-class>com.never.higou.web.InitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!--配置过滤器-->
<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>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
6.配置log4j.properties,日志文件(用于输出后台详细信息)
0 0
- 整合spring_struts2_mybatis
- 整合
- 整合
- 整合
- 整合
- 整合
- 整合
- SpringMVC-整合Spring整合
- 整合 Ajaxanywhere
- 业务整合
- apache_tomcat整合
- SSH 整合
- 整合搜索
- SSH整合
- 信息整合
- ssh整合
- SSH整合
- JBPM 整合
- Mahout的taste里的几种相似度计算方法
- Microsoft Office Visio 2003画ER图
- 查看mysql表结构的指令
- Nutch 读取搜索结果目录统计数据、提取链接结构信息
- Mysql常用语句集锦
- 整合spring_struts2_mybatis
- JSON
- 在Ubuntu14.04上快速部署OpenStack
- 最好的8个 Java RESTful 框架
- List集合
- Notepad++插件推荐I
- ubuntu14下用戶在Root用戶下使用Scp命令是在輸入正確的密碼的時候仍然報 Permission denied, please try again 的解决办法
- linux系统约定不同类型文件默认的颜色
- 行业常识