`

spring3+mybatis整合案例

阅读更多
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.chen</groupId>
  <artifactId>springmvc-mybatis-demo01</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <build>
  	<defaultGoal>compile</defaultGoal>
  </build>
  <properties>
  	<spring.version>3.1.2.RELEASE</spring.version>
  </properties>
  
  <dependencies>
	  <!-- servlet -->
	  <dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>javax.servlet-api</artifactId>
		<version>3.0.1</version>
	  </dependency>
	  <dependency>
		<groupId>jstl</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
	  </dependency>
	  <dependency>
		<groupId>javax.servlet.jsp</groupId>
		<artifactId>jsp-api</artifactId>
		<version>2.1</version>
		<scope>provided</scope>
	  </dependency>
	  
	  <!-- spring -->
	  <dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context-support</artifactId>
		<version>${spring.version}</version>
	 </dependency>
	  <dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${spring.version}</version>
	 </dependency>
	   	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-orm</artifactId>
  		<version>${spring.version}</version>
  	 </dependency>
  	
  	 <!-- aop -->
	 <dependency>
		<groupId>org.aspectj</groupId>
		<artifactId>aspectjweaver</artifactId>
		<version>1.8.4</version>
	 </dependency>
	
	 <!-- mybatis-spring -->
	 <dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis-spring</artifactId>
		<version>1.2.2</version>
	 </dependency>
	 
	 <!-- mybatis -->
	 <dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis</artifactId>
		<version>3.2.8</version>
	 </dependency>
	 
	 <dependency>
        <groupId>asm</groupId>
        <artifactId>asm-commons</artifactId>
        <version>3.3.1</version>
    </dependency>
    <!-- 二级缓存ehcache -->
	<dependency>
		<groupId>net.sf.ehcache</groupId>
		<artifactId>ehcache</artifactId>
		<version>2.9.0</version>
	</dependency>
	
	<!-- dbcp -->
	<dependency>
		<groupId>commons-dbcp</groupId>
		<artifactId>commons-dbcp</artifactId>
		<version>1.4</version>
	</dependency>
	 
	<!-- mysql连接 -->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.34</version>
	</dependency>
	
	<!-- slf4j-log4j -->
    <dependency>  
        <groupId>org.slf4j</groupId>  
        <artifactId>slf4j-api</artifactId>  
        <version>1.7.2</version>  
    </dependency>  
    <dependency>  
        <groupId>org.slf4j</groupId>  
        <artifactId>slf4j-log4j12</artifactId>  
        <version>1.7.2</version>  
    </dependency>  
	<dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
	</dependency>
	
	<!-- jackson -->
  	<dependency>
  		<groupId>com.fasterxml.jackson.core</groupId>
  		<artifactId>jackson-databind</artifactId>
  		<version>2.2.3</version>
  	</dependency>
  	
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.11</version>
	</dependency>
  </dependencies>
  
</project>


springMVC-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"   
    xmlns:mvc="http://www.springframework.org/schema/mvc"  
    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
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd  
    	http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    
    <context:component-scan base-package="com.chen.controller"></context:component-scan>
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
		<property name="prefix" value="/WEB-INF/pages/" />
		<property name="suffix" value=".jsp" />
	</bean>
	
	<mvc:annotation-driven></mvc:annotation-driven>
</beans>


applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"   
    xmlns:mvc="http://www.springframework.org/schema/mvc"
   	xmlns:aop="http://www.springframework.org/schema/aop" 
   	xmlns:tx="http://www.springframework.org/schema/tx"
    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
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd  
    	http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
    	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
    	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    	">
    
    <context:component-scan base-package="com.chen"></context:component-scan>
    <!-- 加载配置文件 -->
    <context:property-placeholder location="classpath:db.properties"/>
    <!-- 配置数据源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    	<property name="driverClassName" value="${db.driver}" />
    	<property name="url" value="${db.url}" />
    	<property name="username" value="${db.username}" />
    	<property name="password" value="${db.password}" />
    	
    	<property name="maxActive" value="${connection.maxActive}"></property>
		<property name="maxIdle" value="${connection.maxIdle}"></property>
		<property name="minIdle" value="${connection.minIdle}"></property>
		<property name="maxWait" value="${connection.maxWait}"></property>
    </bean>
    
    <!-- 配置sessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    	<property name="dataSource" ref="dataSource" />
    	<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
    </bean>
    
    <!-- 配置mapper即dao层 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    	<property name="basePackage" value="com.chen.dao" />
    	<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
    </bean>
    
    <!-- 配置事务 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    	<property name="dataSource" ref="dataSource"></property>
    </bean>
    
    <!-- 配置事务增强处理 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
    	<tx:attributes>
    		<tx:method name="find*" propagation="REQUIRED" read-only="true"/>
    		<tx:method name="save*" propagation="REQUIRED"/>
    		<tx:method name="delete*" propagation="REQUIRED"/>
    		<tx:method name="*"/>
    	</tx:attributes>
    </tx:advice>
    <!-- 应用事务 -->
    <aop:config>
    	<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.chen.service..*.*(..))"/>
    </aop:config>
    <!-- 可通过注解控制事务 --> 
    <tx:annotation-driven />
</beans>



UserMapper.xml
<?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.chen.dao.UserMapper">
	<select id="findUserById" parameterType="long" resultType="com.chen.pojo.User">
		select * from t_user where id = #{id}
	</select>
	
</mapper>


pojo
package com.chen.pojo;

public class User {
	private Long id ;
	private String username; 
	private String address;
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	
}



dao
package com.chen.dao;

import com.chen.pojo.User;

public interface UserMapper {
	
	public User findUserById(Long id);
	
}



service
package com.chen.service;

import com.chen.pojo.User;

public interface UserService { 
	
	public User getUser(Long id);
}


package com.chen.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.chen.dao.UserMapper;
import com.chen.pojo.User;
@Service
public class UserServiceImpl implements UserService {
	@Autowired
	private UserMapper userMapper;
	
	public User getUser(Long id) {
		return userMapper.findUserById(id);
	}

}



controller
package com.chen.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.chen.pojo.User;
import com.chen.service.UserService;


@Controller
@RequestMapping("/user")
public class UserController {
	@Autowired
	private UserService userService;
	
	@ResponseBody
	@RequestMapping("hello")
	public String hello(){
		return "hello";
	}
	
	@RequestMapping("index")
	public String index(){
		return "index";
	}
	
	@ResponseBody
	@RequestMapping("getUser")
	public User getUser(){
		User user =userService.getUser(1L);
		return user;
	}

}




详情见附件
分享到:
评论

相关推荐

    spring+spring mvc+mybatis案例整合.docx

    Spring+Spring MVC+MyBatis 框架整合案例 Spring 框架是 Java 平台上的一种开源框架,由 Rod Johnson 和 Juergen Hoellerสอง位开发者创建,于 2004 年首次发布。Spring 框架的主要目标是简化企业级应用程序的...

    springMVC+Spring+Mybatis+Maven整合代码案例

    3、技术框架:Spring 4.1.4.RELEASE、Spring MVC 4.1.4.RELEASE、MyBatis 3.2.8 二、整合思路: 1、设计数据库:设计好表结构,最好符合3NF,使用Generator自动生成Mybatis相关表信息 2、创建Maven项目,按需映入...

    spring+springmvc+mybatis三大框架整合案例.zip

    这个"spring+springmvc+mybatis三大框架整合案例.zip"的压缩包,应该包含了上述所有步骤的示例代码,包括配置文件、实体类、服务接口、DAO接口、Mapper XML文件以及可能的测试类。学习这个案例,可以帮助开发者深入...

    Java EE 框架整合开发⼊⻔到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf

    这份文档名为《Java EE 框架整合开发入门到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf》,它显然是关于Java EE中流行的三个框架整合使用的教程。这三个框架分别是Spring、Spring MVC和MyBatis,...

    Spring+SpringMVC+Mybatis框架整合例子(SSM)

    同时,配合博客文章《Spring+SpringMVC+Mybatis框架整合例子》(链接:http://blog.csdn.net/zhshulin/article/details/37956105),读者可以按照教程逐步实践,加深对SSM整合的理解。 总之,SSM框架的整合使得...

    maven+springmvc+redis+mybatis整合

    本项目以“maven+springmvc+redis+mybatis整合”为主题,旨在提供一个基于这些技术的集成框架,特别强调了利用Redis作为缓存来提升应用性能。下面将详细阐述这个框架中的各个组成部分以及它们之间的协作。 首先,...

    Spring+SpringMVC+Mybatis框架整合源码

    标题中的“Spring+SpringMVC+Mybatis框架整合源码”指的是一个基于Java的Web开发项目,它结合了三个主流的开源框架:Spring、SpringMVC和Mybatis,以实现高效且灵活的企业级应用开发。这三种框架在Java世界中扮演着...

    spring+struts2+hibernate+mybatis

    一个简单的spring+struts2+hibernate+mybatis整合(数据库脚本放在项目资源文件的sql目录下) 因为没想好mvc用springmvc好,还是struts2好 所以没有整合进去

    Spring+SpringMVC+Mybatis+Maven+bootstrap+ajax+jQuery整合开发简单的员工后台管理系统

    在本项目中,"Spring+SpringMVC+Mybatis+Maven+bootstrap+ajax+jQuery整合开发简单的员工后台管理系统",我们看到一个基于Java技术栈的Web应用开发实例。这个系统利用了多个核心技术来构建一个功能完备的员工管理...

    spring+struts2+mybatis整合案例demo

    SSM整合是Java Web开发中常见的一种框架组合,由Spring、Struts2和MyBatis三个组件构成。这种集成能够实现高效、灵活的业务逻辑处理,同时降低了代码的复杂性。接下来,我们将深入探讨这三个框架及其整合过程中的...

    springMvc+spring+Mybatis 实战案例 实用!

    Spring MVC、Spring 和 MyBatis 是Java开发领域中三大核心框架,它们的组合在实际项目中广泛应用,构建了企业级Web应用的后端基础架构。本实战案例将深入讲解这三个框架如何协同工作,以实现高效的数据处理和业务...

    Spring MVC + Mybatis+Spring实现的个人博客系统

    这是一个基于Spring MVC、Mybatis和Spring框架实现的个人博客系统,涵盖了Web开发中的后端架构...对于学习和理解SSM(Spring、SpringMVC、Mybatis)框架集成开发,以及实际的Web应用开发流程,这是一个很好的实践案例。

    SSM框架-详细整合教程(Spring+SpringMVC+MyBatis).pdf

    SSM框架,即Spring、SpringMVC和MyBatis的集成,是Java开发中常见的Web应用程序框架组合。这个框架集合提供了完整的后端解决方案,涵盖了依赖注入(DI)、面向切面编程(AOP)、模型视图控制器(MVC)以及持久层操作...

    Spring MVC+ Spring+ Mybatis 框架搭建

    这个案例可能包括了Spring MVC的Controller,Spring的配置文件,Mybatis的Mapper和XML文件,以及数据库相关的配置。通过分析这些文件,初学者可以了解SSM框架的基本结构和使用方法,例如请求处理、服务层调用、...

    《Java EE企业级应用开发教程Spring+Spring MVC+MyBatis》_源代码.zip

    5. **Chapter 08** - Spring与MyBatis整合:展示如何将Spring的IoC容器与MyBatis集成,实现数据库操作的事务管理。解释SqlSessionFactoryBean和DataSource配置,以及使用MyBatis的Spring命名空间简化配置。 6. **...

    spring+springmvc+mybatis+bootstrap整合案例.zip

    这是一个基于Java技术栈的Web应用整合案例,涵盖了Spring、SpringMVC、MyBatis和Bootstrap四个关键组件。让我们深入探讨这些技术以及它们如何协同工作。 首先,**Spring框架**是整个应用的基础,它是一个全面的企业...

    Spring Cloud+Spring MVC+Mybatis项目源码.rar_mvc_spring mvc项目_spring-

    标题中的“Spring Cloud+Spring MVC+Mybatis项目源码”表明这是一个综合了Spring框架生态的实战项目,结合了...同时,这也是一个实践Spring MVC+Mybatis整合开发的绝佳案例,有助于理解Web应用和数据库操作的流程。

    SpringMvc+Spring+MyBatis+Maven整合视频源码+数据库

    在本案例中,Maven可能已经配置了Spring、Spring MVC、MyBatis等相关库的依赖。 在`WEB-INF`目录下,通常包含`web.xml`,它是Web应用的部署描述符,用于配置Servlet、Filter和监听器等组件。这里可能包含了Spring ...

    springboot+mybatis整合实现注册登录

    在本项目中,"springboot+mybatis整合实现注册登录"是一个典型的Web应用程序开发实例,主要涉及Spring Boot和MyBatis两大技术框架的融合应用。Spring Boot简化了Spring应用程序的初始搭建以及开发过程,而MyBatis则...

Global site tag (gtag.js) - Google Analytics