前段时间自己发布了一篇关于SpringMVC结合Redis的小实例,今天呢,想和大家分享一下自己最近使用Spring MVC结合MyBatis+MySQL的小实例,在这里先贴出一下自己在GitHub上共享的代码Demo,下面我会贴出一些核心的内容以及相关总结。GitHub上的Demo地址如下:https://github.com/williamjava/demo
1、准备工作
小实例Demo是基于Maven的,所以相关的jar依赖大家可以参考项目根目录下的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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tutu.love</groupId>
<artifactId>guitu</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>guitu Maven Webapp</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>com.springsource.repository.bundles.release</id>
<name>EBR Spring Release Repository</name>
<url>http://repository.springsource.com/maven/bundles/release</url>
</repository>
<repository>
<id>com.springsource.repository.bundles.external</id>
<name>EBR External Release Repository</name>
<url>http://repository.springsource.com/maven/bundles/external</url>
</repository>
</repositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.1.4.RELEASE</spring.version>
</properties>
<dependencies>
<!-- MyBatis相关 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.0</version>
</dependency>
<!-- MySQL相关 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<!-- Spring相关,这里的spring.version就是上方声明的版本号,这样引用更方便修改和维护 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-ibatis</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 测试相关 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Servlet相关 -->
<dependency>
<groupId>tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>5.5.23</version>
</dependency>
<!-- Log相关 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- Redis相关 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.0.0</version>
</dependency>
<!-- 其他 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>net.sourceforge.cglib</groupId>
<artifactId>com.springsource.net.sf.cglib</artifactId>
<version>2.1.3</version>
</dependency>
</dependencies>
<build>
<finalName>guitu</finalName>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.7</version>
<configuration>
<sourceIncludes>
<sourceInclude>*</sourceInclude>
</sourceIncludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
2、配置mybatis相关类自动生成(mybatis-generator)
配置最核心的generatorConfig.xml配置文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<classPathEntry
location="D:/MavenRepo/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar"/>
<context id="my" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="false"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/stusys" userId="root"
password="123456"/>
<javaModelGenerator targetPackage="com.tu.entity"
targetProject="E:\william_demo_git\guitu\src\main\java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.tu.mapper"
targetProject="E:\william_demo_git\guitu\src\main\resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator targetPackage="com.tu.mapper"
targetProject="E:\william_demo_git\guitu\src\main\java" type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="user_info" domainObjectName="UserInfo"
enableCountByExample="true" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="true"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
如何执行MyBatis文件的相关生成呢?我自己简单写了一个.bat文件,内容如下:
#generatorConfig.xml文件所在的项目目录
cd E:\william_demo_git\guitu\src\main\java\com\tu\dao
java -jar D:\MavenRepo\org\mybatis\generator\mybatis-generator-core\1.3.2\mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
pause;
3、配置文件中的重要内容以及使用的相关注解
spring-common.xml文件中配置的注解扫描目录以及配置的BeanPostProcessor(对标注@Autowired的bean自动注入)
<context:component-scan base-package="com.tu"></context:component-scan>
<!-- 该 BeanPostProcessor 将自动起作用,对标注 @Autowired 的 Bean 进行自动注入 -->
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
其他的相关配置大家可以参考具体的Demo
既然使用了Spring的注解,每一层的实例注入,用到的具体注解有必要说明一下:
控制层:@Controller
Service层:@Service,使用在接口对应的实现类上面
Dao层:@Repository,同样是使用在接口对应的实现类上面
MyBatis生成的Mapper类:@Resource
类中有注入的属性:@Autowired,使用在属性上
特别需要注意的地方:使用注解@Autowired注入具体的属性的时候,一定要记得提供set方法,否则Spring注入会出错。
4、效果实现
JSP --> Controller --> Service --> Dao --> Mapper
这里除了JSP,实际开发过程中我想会有独立的前段去做,这里同大家回顾一下在前段部分我们需要做的工作。
现在我要在前段展示一个用户列表信息,后端数据已经准备好了,控制层会返回数据(userList)到前段页面,那么页面如何进行展示呢?我们使用jstl(JSP标准标签库)配合EL表达式进行实现。
a)、jsp页面引入:<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
b)、使用<c:forEach>标签遍历控制层返回的用户数据信息
<c:forEach var="user" items="${userList }">
<tr>
<td>${user.name }</td>
<td>${user.province }</td>
<td>${user.city }</td>
<td>${user.job }</td>
<td>${user.phone }</td>
</tr>
</c:forEach>
到这里基本上该做的工作都做完了,接下来要做的就是启动服务,见证奇迹的时刻,一个用户列表即将展示在我们面前。
访问URL:http://localhost:8080/guitu/user/getAllUsers
看到的效果:
相关推荐
在`pom.xml`文件中添加所需的Activiti、Spring、Spring MVC、MyBatis和MySQL驱动等相关依赖。 2. 配置Spring:配置Spring的核心容器,包括bean的定义、事务管理、数据源以及Activiti的相关配置。使用`...
本篇文章将通过一个简单显示用户信息的实例整合Spring mvc+mybatis+Maven+velocity+mysql. 一、.Maven工程目录 二、Spring mvc + mybatis +maven实现 1.Mysql数据库表数据
在本项目实例中,"Spring MVC+Maven+Mybatis+Mysql" 是一个常见的Java Web开发技术栈,用于构建高效、可维护的Web应用程序。下面将分别介绍这些技术及其在项目中的应用。 1. Maven: Maven是Apache软件基金会开发...
在本文中,我们将深入探讨如何使用JavaEE技术栈,特别是Spring、Spring MVC和MyBatis框架,来构建一个超市货物管理系统的实现。这个系统涵盖了基本的登录功能以及与MySQL数据库的交互,包括增删改查操作和分页显示。...
在本项目中,我们主要探讨的是一个基于Java的Web应用架构,它采用了Spring、MyBatis、Spring MVC、Maven以及MySQL这五大技术组件。这是一个经典的后端开发框架组合,适用于构建复杂、可扩展的企业级应用程序。下面将...
【Spring-MVC+MyBatis+MySQL简单实例】 在Web开发中,Spring-MVC、MyBatis和MySQL的组合是常见的技术栈,它们为构建高效、可维护的Web应用程序提供了强大的支持。本实例将深入探讨这三者如何协同工作,以实现数据的...
在本项目中,"Spring+SpringMVC+Mybatis+Maven+bootstrap+ajax+jQuery整合开发简单的员工后台管理系统",我们看到一个基于Java技术栈的Web应用开发实例。这个系统利用了多个核心技术来构建一个功能完备的员工管理...
**SpringMVC** 是Spring框架的一部分,它提供了一种模型-视图-控制器(MVC)的设计模式来构建Web应用程序。SpringMVC通过DispatcherServlet接收请求,将请求分发到对应的处理器,并最终返回响应。它支持多种视图技术...
使用环境:MyEclipse/Eclipse + Tomcat + MySQL。 使用技术:Spring MVC + Spring + MyBatis 或 JSP + Servlet + JavaBean + JDBC。 https://ymjin.blog.csdn.net/article/details/120785168
在构建Web应用程序时,"Spring4+SpringMVC+mysql+memcached【同时支持mybatis+hibernate两种底层操作框架】"是一个常见的技术栈,它涵盖了多个关键组件,为高效、灵活的开发提供了坚实的基础。以下是这个技术组合中...
在SSM环境中,Spring不仅管理着Spring MVC和MyBatis的配置,还负责业务服务层和数据访问层的实例化和调用。 MyBatis是一个轻量级的持久层框架,它简化了SQL与Java的交互。MyBatis通过XML或注解方式定义SQL语句,将...
"Spring+SpringMVC+Mybatis+Mysql整合实例"是一个典型的Java Web项目构建,旨在帮助开发者理解如何将这些组件集成在一起,以实现高效、灵活和可维护的系统。 Spring框架是Java领域的一个全功能容器,它提供了依赖...
在构建Java后端应用时,一个常见的架构是结合Spring MVC、MyBatis、MongoDB和MySQL,这样的组合提供了丰富的功能和灵活性。以下是基于这个架构环境搭建的详细知识点: 1. **Spring MVC 5.0.8**: Spring MVC是Spring...
该项目是一个基于Spring、SpringMVC、Mybatis、MySQL、Redis和Maven的综合应用实例,旨在为初学者提供一个清晰易懂的学习平台。下面将详细解释这些技术组件及其在项目中的作用。 **Spring框架**: Spring是Java企业...
1. 该java工程师基于Maven的Spring + Spring MVC + Mybatis的工程实例 通过一个简单的登录功能了解搭建spring + mybatis的各个部分。 2. 数据库使用的是mysql5.6, 实例涉及一张表 t_user,请查看sqlScript中的脚本...
在pom.xml文件中,添加对应的dependency节点,包括Spring的核心库、Spring MVC、Mybatis以及与MySql连接的JDBC驱动。确保版本号与当前环境兼容,避免出现版本冲突问题。 接下来,配置Spring。创建一个Spring的配置...
1. **创建Maven项目**:首先,创建一个基于Maven的Java Web项目,配置pom.xml文件,引入Spring、SpringMVC、Mybatis和MySQL驱动等依赖。 2. **配置Spring**:编写Spring的配置文件(如applicationContext.xml),...
这是一个基于Java技术栈的经典组合,包括Spring、SpringMVC、Maven、Mybatis和MySQL,构建在Eclipse开发环境中,并依赖Tomcat7服务器和JDK1.7运行。以下将详细解析这些技术及其在实际项目中的应用。 1. **Spring...
这是一个基于Java技术栈的经典组合——SSM框架(Spring、SpringMVC、Mybatis)与Maven构建工具,以及MySQL数据库和Tomcat应用服务器的实践项目。这个实例将带你深入理解这些技术如何协同工作,构建一个完整的Web应用...
在本项目"springmvc+mybatis+mysql小实例"中,我们主要探讨的是如何整合SpringMVC、MyBatis和MySQL来构建一个简单的Web应用程序。这个项目是个人练习的成果,旨在帮助开发者熟悉这些技术的集成与应用。 首先,...