前段时间自己发布了一篇关于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
看到的效果:
相关推荐
项目搭建实例、spring + mybatis + spring mvc + maven + mysql;有任何不懂的技术问题都可以联系我共同讨论
本篇文章将通过一个简单显示用户信息的实例整合Spring mvc+mybatis+Maven+velocity+mysql. 一、.Maven工程目录 二、Spring mvc + mybatis +maven实现 1.Mysql数据库表数据
OA项目,使用SSM框架开发,使用EASYUI前端AJAX的JSON传值实现,对数据进行合理封装。
包括登陆,注册等功能!帮助你了解框架,有助于你迅速搭建框架。
使用环境:MyEclipse/Eclipse + Tomcat + MySQL。 使用技术:Spring MVC + Spring + MyBatis 或 JSP + Servlet + JavaBean + JDBC。 https://ymjin.blog.csdn.net/article/details/120785168
架包在:http://download.csdn.net/detail/hu5080126/5166795
分页功能是我们日常开发中经常会遇到的,下面这篇文章主要给大家介绍了Spring MVC+MyBatis+MySQL实现分页功能的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
1. 该java工程师基于Maven的Spring + Spring MVC + Mybatis的工程实例 通过一个简单的登录功能了解搭建spring + mybatis的各个部分。 2. 数据库使用的是mysql5.6, 实例涉及一张表 t_user,请查看sqlScript中的脚本...
此框架引用spring mvc mongdb mysql mybatis 最新maven包 ,json格式的处理,事物的处理,增删改查应用实例。
一个Spring MVC+Mybatis+Mysql的分页简单实例,直接导入maven工程就可以使用。
spring web mvc + mybatis + mysql简单实例,很简单,希望能帮到大家
spring mvc、mybatis、mysql、maven、bootstrap 整合实现增删查改简单实例;有任何不懂的问题都可以联系我
最近读了spring-boot开发手册,spring-boot相比于spring-mvc封装了很多常用的依赖,并且内置了tomcat容器,启动生成的jar包即可启动项目,也是目前流行...本文主要用到了spring-boot,以及mybatis,数据库用到了mysql。
很简单的小例子、添上jar包就可以跑、、、对入门理解框架整合时xml的配置很有帮助!
基于SSM框架(Spring+SpringMVC+MyBatis) + Mysql数据库 + Tomcat7
Maven项目搭建SSM框架,导入项目后需要等待Maven下载Jar包,亲测可用!
(内容问相应网址链接,百度云链接在文章内) 项目描述 ssm开发的oa办公系统实例 运行环境 jdk7+tomcat7+mysql+eclipse 项目技术 spring+spring mvc+mybatis+jquery
本项目是高质量的在线js电子签名SSM实现增删改查及分页查询实例,非常值得学习,使用了spring MVC+spring+mybatis 框架,mysql数据库,电子签名的数据使用base64存储于数据库,上传图片在前端进行压缩将base64上传至...
该项目是在SSM(Spring MVC+Spring+Mybatis)框架下的对数据库进行增删改查操作的模版,操作非常详细,可以作为后台管理系统的基础,直接拿过来修改使用,不用再从头开始,让开发从模版开始!让开发从模版开始!让...
Spring+Spring mvc + Mabatis 开发的oa办公系统实例 项目描述 ssm开发的oa办公系统实例 运行环境 jdk7+tomcat7+mysql+eclipse 项目技术(必填) spring+spring mvc+mybatis+jquery 数据库文件 链接: ...