下面来看java代码:
1、Control层代码:
- package com.hl.usersmanager.controller;
-
-
import java.util.List;
-
-
import org.springframework.beans.factory.annotation.Autowired;
-
import org.springframework.stereotype.Controller;
-
import org.springframework.ui.ModelMap;
-
import org.springframework.web.bind.annotation.RequestMapping;
-
-
import com.hl.usersmanager.model.Users;
-
import com.hl.usersmanager.service.IUserService;
-
-
@Controller
-
public class UserController {
-
-
@Autowired
-
private IUserService userService;
-
-
@RequestMapping(value = "findUserByName.do")
-
public String findUserByName(String name,ModelMap model) {
- Users users = userService.findUserByName(name);
-
model.addAttribute("userPhone",users.getPhone());
-
System.out.println("userPhone:" + users.getPhone());
-
return "showUser";
- }
-
- ……
- }
package com.hl.usersmanager.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import com.hl.usersmanager.model.Users;
import com.hl.usersmanager.service.IUserService;
@Controller
public class UserController {
// 使用注解实现自动装配 不需要再写get set方法以及在context中配置bean
@Autowired
private IUserService userService;
@RequestMapping(value = "findUserByName.do")
public String findUserByName(String name,ModelMap model) {
Users users = userService.findUserByName(name);
model.addAttribute("userPhone",users.getPhone());
System.out.println("userPhone:" + users.getPhone());
return "showUser";
}
……
}
在较低版本Spring中,Controller需要实现一个接口,在Spring3中,我们采用注解的方式实现。只需要加入一个@Controller注解即可(当然,你需要在配置文件中开启注解功能。可参考Spring3+mybatis+mysql整合详解(三))。
再使用注解声明一个IUserService(Service层接口)属性。
@RequestMapping(value = "findUserByName.do")表示拦截findUserByName.do的请求,交由被注解的方法处理。
findUserByName方法有两个参数,第一个参数name从页面上传入。由于我们需要找到Users后将其userPhone属性返回给页面,所以我们需要第二个参数model。这个参数由Spring自行封装,我们不管它。然后将users.getPhone()放入model中。就好像我们往response中放参数一样。
最后返回一个String类型的showUser,告诉Spring mvc这个Controller执行完了需要返回到showUser这个视图。具体由哪个页面进行渲染,由Spring mvc的视图解析器配置决定。当然findUserByName也可以使用其他返回类型。
这里有篇帖子讲得比较详细,分享给大家:
http://www.ibm.com/developerworks/cn/java/j-lo-spring25-mvc/
2、Service层代码
- package com.hl.usersmanager.service.impl;
-
-
import java.util.List;
-
-
import org.springframework.beans.factory.annotation.Autowired;
-
import org.springframework.stereotype.Service;
-
import org.springframework.transaction.annotation.Transactional;
-
-
import com.hl.usersmanager.dao.IUserMapper;
-
import com.hl.usersmanager.model.Users;
-
import com.hl.usersmanager.service.IUserService;
-
-
-
@Service
-
public class UserServiceImpl implements IUserService{
-
@Autowired
-
private IUserMapper userMapper;
-
-
@Override
-
@Transactional
-
public Users findUserByName(String name) {
-
return userMapper.findUserByName(name);
- }
-
- ……
- }
package com.hl.usersmanager.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.hl.usersmanager.dao.IUserMapper;
import com.hl.usersmanager.model.Users;
import com.hl.usersmanager.service.IUserService;
//使用Service注解 不需要再在配置文件中配置bean
@Service
public class UserServiceImpl implements IUserService{
@Autowired
private IUserMapper userMapper;
@Override
@Transactional
public Users findUserByName(String name) {
return userMapper.findUserByName(name);
}
……
}
首先,我们在Service层IUserService的实现类上加入@Service注解。UserController中就会自动装载这个bean。
这里我们配置了一个 @Transactional注解,表示需要进行事务管理(这里我没有写事务相关的代码)。
3、DAO层代码
- package com.hl.usersmanager.dao;
-
-
import java.util.List;
-
-
import com.hl.usersmanager.model.Users;
-
-
public interface IUserMapper {
-
public Integer insertUser(Users user);
-
-
public List<Users> findAllUsers();
-
-
public Users findUserByName(String name);
-
- }
package com.hl.usersmanager.dao;
import java.util.List;
import com.hl.usersmanager.model.Users;
public interface IUserMapper {
public Integer insertUser(Users user);
public List<Users> findAllUsers();
public Users findUserByName(String name);
}
使用Mybatis+Spring后,dao层只需要这样一个接口就行了。在配置文件中作如下配置:
-
-
<bean id="UserMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
-
<property name="sqlSessionFactory" ref="SqlSessionFactory" />
-
-
<property name="mapperInterface" value="com.hl.usersmanager.dao.IUserMapper" />
-
</bean>
<!-- 数据映射器类 mapper bean -->
<bean id="UserMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="sqlSessionFactory" ref="SqlSessionFactory" />
<!-- 注意指定的映射器类必须是一个接口,而不是具体的实现类 -->
<property name="mapperInterface" value="com.hl.usersmanager.dao.IUserMapper" />
</bean>
Mybatis会自动创建代理类,执行接口中的方法。当然还需要数据映射器的配置。参见Spring3+mybatis+mysql整合详解(四)。
整个结构就是这样。需要完整源代码的请访问http://my249645546.iteye.com/blog/1413847 ,进行下载(不含jar包)
相关推荐
总之,Spring、MyBatis和MySQL的整合是Java开发中的常见实践,通过这种方式,我们可以利用Spring的强大管理能力,MyBatis的灵活SQL操作,以及MySQL的稳定数据库支持,构建出高效且易于维护的应用程序。通过学习和...
在本篇博文中,我们将深入探讨“Spring3+MyBatis+MySQL”的整合技术,这是一种在Java开发中常见的数据访问架构。Spring作为一个强大的框架,提供了依赖注入和管理bean的能力,而MyBatis则是一个轻量级的持久层框架,...
**Spring MVC + MyBatis + MySQL 整合详解** 在Web开发中,Spring MVC、MyBatis和MySQL是常见的技术组合,它们各自扮演着重要的角色。Spring MVC作为Spring框架的一部分,提供了一个强大的模型-视图-控制器(MVC)...
《MySQL+Spring3+MyBatis3整合应用详解》 在现代企业级开发中,MySQL、Spring和MyBatis这三者是常见的技术栈组合,它们各自承担着数据库管理、框架支持和持久化操作的重要角色。本文将深入探讨这三者的结合使用,...
【标题】:“Spring Boot + MyBatis + Jersey + MySQL 源码整合详解” 【正文】: 在现代软件开发中,快速构建可扩展且易于维护的Web应用是至关重要的。Spring Boot、MyBatis、Jersey和MySQL这四个组件的整合,...
《Spring Boot+Spring Security+MyBatis+Vue+Mysql物业管理系统详解》 在现代的物业管理领域,利用先进的技术手段来提升效率、优化服务已成为趋势。本系统采用一系列主流技术框架构建,包括Spring Boot、Spring ...
《Spring+Mybatis+SQLite/MySQL 整合实践详解》 在现代的Web开发中,Spring框架因其强大的功能和灵活性而被广泛采用,它提供了一种模块化的方式来组织应用程序,包括依赖注入、AOP(面向切面编程)以及对其他框架如...
在本教程中,我们将深入探讨如何使用Eclipse开发工具,结合Spring Boot、Maven、MyBatis和MySQL来创建一个完整的Java Web应用。这四个组件是现代Java开发中的关键技术,它们各自扮演着不同的角色,共同构建了一个...
《基于SpringMVC+MyBatis+Spring+Maven+MySQL的网上租车系统详解》 在互联网技术高速发展的今天,网上租车系统已经成为一种常见的服务模式,它为用户提供便捷的在线预订车辆服务。本文将深入剖析一个基于SpringMVC...
【Spring MVC 3.0.5 + Spring 3.0.5 + MyBatis3.0.4 全注解实例详解】 Spring MVC 3.0.5 是Spring框架的一个重要版本,它引入了对RESTful风格的支持,使得构建Web应用更加灵活。REST(Representational State ...
### SpringMVC + Spring + MyBatis 整合配置详解 #### 一、技术栈介绍与选择 在本文档中,我们将详细介绍如何整合SpringMVC、Spring和MyBatis这三大框架来构建一个简单的Web应用。这三个框架在Java Web开发领域内...
在项目开发过程中,我们需要注意SSM框架的整合配置,包括Spring的bean定义、SpringMVC的配置、MyBatis的SqlSessionFactory配置以及数据库连接池的设置等。此外,还需要考虑系统的安全性,如使用HTTPS协议、防止SQL...
6. **整合SSM**:将这三个组件整合在一起,需要配置相关的XML文件,如Spring的ApplicationContext.xml、SpringMVC的servlet-context.xml以及MyBatis的mybatis-config.xml。配置完成后,Spring会加载这些配置,初始化...
### Spring MVC + Spring + MyBatis + Maven + MySQL 环境搭建详解 #### 一、概述 在软件开发领域,尤其是Java Web开发中,**Spring MVC + Spring + MyBatis + Maven + MySQL**组合是一种非常流行的开发模式。本文...
《基于Spring+SpringMVC+MyBatis的酒店管理系统与MySQL数据库集成详解》 酒店管理系统是信息化时代提高酒店运营效率的重要工具,它涵盖了预订、入住、退房、账务管理等多个业务环节。本系统采用Spring、SpringMVC和...
在本文中,我们将深入探讨如何将SpringBoot与MyBatis Plus进行整合,以便构建一个高效、简洁的Web应用程序。SpringBoot以其快速启动和简化配置的特点,成为开发微服务的首选框架,而MyBatis Plus则作为MyBatis的增强...
SSM框架,即Spring、SpringMVC和Mybatis的组合,是Java开发中常见的Web应用框架,用于构建高效、灵活的后端系统。本项目旨在为新手提供一个基础的SSM框架搭建教程,并且加入了Maven管理和MySql数据库支持,以及分页...
《基于Spring Boot、Mybatis、Spring MVC和Bootstrap的Mysql停车位管理系统详解》 在现代城市生活中,停车位管理是一项至关重要的任务。本系统采用先进的技术栈,包括Spring Boot、Mybatis、Spring MVC和Bootstrap...
《基于Spring+SpringMVC+MyBatis+Mysql的销售管理系统详解》 在信息技术日益发展的今天,软件工程已经成为各行各业的重要支撑。对于学生而言,毕业设计是他们将理论知识与实际应用相结合的关键环节,其中“Spring+...