`
wuhoujian322
  • 浏览: 65213 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring MVC结合MyBatis+MySQL小实例

阅读更多

    前段时间自己发布了一篇关于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

看到的效果:



 

  • 大小: 29.7 KB
0
0
分享到:
评论

相关推荐

    activiti+spring+srping Mvc+mybatis+maven整合

    在`pom.xml`文件中添加所需的Activiti、Spring、Spring MVC、MyBatis和MySQL驱动等相关依赖。 2. 配置Spring:配置Spring的核心容器,包括bean的定义、事务管理、数据源以及Activiti的相关配置。使用`...

    Spring mvc+mybatis+maven+velocity+mysql整合实例

    本篇文章将通过一个简单显示用户信息的实例整合Spring mvc+mybatis+Maven+velocity+mysql. 一、.Maven工程目录 二、Spring mvc + mybatis +maven实现 1.Mysql数据库表数据

    Spring MVC+Maven+Mybatis+Mysql项目实例

    在本项目实例中,"Spring MVC+Maven+Mybatis+Mysql" 是一个常见的Java Web开发技术栈,用于构建高效、可维护的Web应用程序。下面将分别介绍这些技术及其在项目中的应用。 1. Maven: Maven是Apache软件基金会开发...

    spring+spring mvc+mybatis框架整合实现超市货物管理系统

    在本文中,我们将深入探讨如何使用JavaEE技术栈,特别是Spring、Spring MVC和MyBatis框架,来构建一个超市货物管理系统的实现。这个系统涵盖了基本的登录功能以及与MySQL数据库的交互,包括增删改查操作和分页显示。...

    项目搭建实例、spring + mybatis + spring mvc + maven + mysql

    在本项目中,我们主要探讨的是一个基于Java的Web应用架构,它采用了Spring、MyBatis、Spring MVC、Maven以及MySQL这五大技术组件。这是一个经典的后端开发框架组合,适用于构建复杂、可扩展的企业级应用程序。下面将...

    spring-mvc+mybatis+mysql简单实例

    【Spring-MVC+MyBatis+MySQL简单实例】 在Web开发中,Spring-MVC、MyBatis和MySQL的组合是常见的技术栈,它们为构建高效、可维护的Web应用程序提供了强大的支持。本实例将深入探讨这三者如何协同工作,以实现数据的...

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

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

    Springmvc+dubbo+mybatis+mysql+redis

    **SpringMVC** 是Spring框架的一部分,它提供了一种模型-视图-控制器(MVC)的设计模式来构建Web应用程序。SpringMVC通过DispatcherServlet接收请求,将请求分发到对应的处理器,并最终返回响应。它支持多种视图技术...

    基于Spring MVC + Spring + MyBatis的【人事管理系统】.zip

    使用环境:MyEclipse/Eclipse + Tomcat + MySQL。 使用技术:Spring MVC + Spring + MyBatis 或 JSP + Servlet + JavaBean + JDBC。 https://ymjin.blog.csdn.net/article/details/120785168

    Spring4+SpringMVC+mysql+memcached【同时支持mybatis+hibernate两种底层操作框架】

    在构建Web应用程序时,"Spring4+SpringMVC+mysql+memcached【同时支持mybatis+hibernate两种底层操作框架】"是一个常见的技术栈,它涵盖了多个关键组件,为高效、灵活的开发提供了坚实的基础。以下是这个技术组合中...

    springmvc+spring+mybatis+Maven+mysql环境搭建源码

    在SSM环境中,Spring不仅管理着Spring MVC和MyBatis的配置,还负责业务服务层和数据访问层的实例化和调用。 MyBatis是一个轻量级的持久层框架,它简化了SQL与Java的交互。MyBatis通过XML或注解方式定义SQL语句,将...

    Spring+SpringMVC+Mybatis+Mysql整合实例附加了说明文档

    "Spring+SpringMVC+Mybatis+Mysql整合实例"是一个典型的Java Web项目构建,旨在帮助开发者理解如何将这些组件集成在一起,以实现高效、灵活和可维护的系统。 Spring框架是Java领域的一个全功能容器,它提供了依赖...

    java+spring 5.0.8 mvc + mybatis + mongodb + mysql 架构环境搭建

    在构建Java后端应用时,一个常见的架构是结合Spring MVC、MyBatis、MongoDB和MySQL,这样的组合提供了丰富的功能和灵活性。以下是基于这个架构环境搭建的详细知识点: 1. **Spring MVC 5.0.8**: Spring MVC是Spring...

    spring+springMVC+Mybatis+MYSQL+Redis+Maven项目整合源码

    该项目是一个基于Spring、SpringMVC、Mybatis、MySQL、Redis和Maven的综合应用实例,旨在为初学者提供一个清晰易懂的学习平台。下面将详细解释这些技术组件及其在项目中的作用。 **Spring框架**: Spring是Java企业...

    基于Maven的Spring + Spring MVC + Mybatis的工程实例

    1. 该java工程师基于Maven的Spring + Spring MVC + Mybatis的工程实例 通过一个简单的登录功能了解搭建spring + mybatis的各个部分。 2. 数据库使用的是mysql5.6, 实例涉及一张表 t_user,请查看sqlScript中的脚本...

    Maven搭建Spring+Mybatis+MySql实例

    在pom.xml文件中,添加对应的dependency节点,包括Spring的核心库、Spring MVC、Mybatis以及与MySql连接的JDBC驱动。确保版本号与当前环境兼容,避免出现版本冲突问题。 接下来,配置Spring。创建一个Spring的配置...

    spring+springmvc+mybatis+mysql

    1. **创建Maven项目**:首先,创建一个基于Maven的Java Web项目,配置pom.xml文件,引入Spring、SpringMVC、Mybatis和MySQL驱动等依赖。 2. **配置Spring**:编写Spring的配置文件(如applicationContext.xml),...

    Spirng+SpringMVC+Maven+Mybatis+MySQL实例

    这是一个基于Java技术栈的经典组合,包括Spring、SpringMVC、Maven、Mybatis和MySQL,构建在Eclipse开发环境中,并依赖Tomcat7服务器和JDK1.7运行。以下将详细解析这些技术及其在实际项目中的应用。 1. **Spring...

    Spirng+SpringMVC+Maven+Mybatis+MySQL+tomcat实例

    这是一个基于Java技术栈的经典组合——SSM框架(Spring、SpringMVC、Mybatis)与Maven构建工具,以及MySQL数据库和Tomcat应用服务器的实践项目。这个实例将带你深入理解这些技术如何协同工作,构建一个完整的Web应用...

    springmvc+mybatis+mysql小实例

    在本项目"springmvc+mybatis+mysql小实例"中,我们主要探讨的是如何整合SpringMVC、MyBatis和MySQL来构建一个简单的Web应用程序。这个项目是个人练习的成果,旨在帮助开发者熟悉这些技术的集成与应用。 首先,...

Global site tag (gtag.js) - Google Analytics