安装配置Maven省略

新建Maven项目,选择maven-archetype-webapp,填写GroupID和ArtifactID

修改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.zns</groupId><artifactId>myproject</artifactId><packaging>war</packaging><!-- <packaging>jar</packaging> --><version>0.0.1-SNAPSHOT</version><name>myproject Maven Webapp</name><url>http://maven.apache.org</url><properties><spring.version>4.3.5.RELEASE</spring.version></properties><dependencies><!-- spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</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-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>test</scope></dependency><!-- mybatis 包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.8</version></dependency><!--mybatis和spring整合包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.2</version></dependency><!-- mysql连接驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.34</version></dependency><!-- 数据源 c3p0 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5</version></dependency><dependency><groupId>com.mchange</groupId><artifactId>mchange-commons-java</artifactId><version>0.2.12</version></dependency><!-- jackson --><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.13</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.5.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.5.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.5.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.3</version><configuration><webResources><resource><directory>src/main/webapp</directory></resource></webResources><warName>myproject</warName><outputDirectory>D:\</outputDirectory></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><outputDirectory>D:\</outputDirectory></configuration></plugin></plugins></build></project>

建好项目结构包

com.zns.controller

com.zns.service

com.zns.mapper

com.zns.domain

在com.zns.mapper下新建xmls文件夹用于存放mapper xml文件

假设数据库有一张用户表 就2个字段 主键 和 账号

新建User类

package com.zns.domain;public class User {private int UserID;private String UserAccount;public int getUserID() {return UserID;}public void setUserID(int userID) {UserID = userID;}public String getUserAccount() {return UserAccount;}public void setUserAccount(String userAccount) {UserAccount = userAccount;}
}

新建UserMapper接口

package com.zns.mapper;import com.zns.domain.User;public interface UserMapper {public User getByID(int id);
}

新建UserMapper xml文件(在mapperxml包下新建)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.zns.mapper.UserMapper"><select id="getByID" parameterType="int"resultType="com.zns.domain.User">select UserID,UserAccount from users where UserID=#{UserID}</select>
</mapper>

新建UserService

package com.zns.service;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zns.domain.User;
import com.zns.mapper.UserMapper;@Service
public class UserService {@Autowiredprivate UserMapper userMapper;public User getByID(int id) {return userMapper.getByID(id);}
}

src/main/resources下新建如下结构的配置文件

src/main/resources

mybatis

mybatis-config.xml

spring

spring-context.xml

spring-mvc.xml

spring-mybatis.xml

jdbc.properties

jdbc.properties内容为

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/mydb1?useUnicode=true&characterEncoding=utf-8
jdbc.username = root
jdbc.password =123456

mybatis-config.xml内容为

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 返回resultType为map时,如果数据为空的字段,则该字段会省略不显示, 可以通过添加该配置,返回null --><settings><setting name="callSettersOnNulls" value="true" /></settings>
</configuration>

spring-context.xml内容为

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><!--自动扫描含有@Service将其注入为bean -->  <context:component-scan base-package="com.zns.service" /></beans>

spring-mvc.xml内容为

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/mvc   http://www.springframework.org/schema/mvc/spring-mvc.xsd "><!--自动扫描含有@Controller将其注入为bean --><context:component-scan base-package="com.zns.controller"></context:component-scan><!--注解映射器 --><!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> --><!--注解适配器 --><!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> --><!-- 使用这个可以代替上边的注解映射器和适配器 --><mvc:annotation-driven></mvc:annotation-driven><!-- 视图解析器 jsp --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views" /><property name="suffix" value=".jsp" /> </bean><!-- 静态资源访问 -->  <mvc:resources mapping="/**" location="/" /></beans>

spring-mybatis.xml内容为

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><!-- 引入外部属性文件 --><context:property-placeholder location="classpath:jdbc.properties" /><!-- 配置c3p0连接池: --><bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><!-- 指定连接数据库的驱动-->  <property name="driverClass" value="${jdbc.driver}"/>  <!-- 指定连接数据库的URL-->  <property name="jdbcUrl" value="${jdbc.url}"/>  <!-- 指定连接数据库的用户名-->  <property name="user" value="${jdbc.username}"/>  <!-- 指定连接数据库的密码-->  <property name="password" value="${jdbc.password}"/>  <!-- 指定连接池中保留的最大连接数. Default:15-->  <property name="maxPoolSize" value="100"/>  <!-- 指定连接池中保留的最小连接数-->  <property name="minPoolSize" value="10"/>  <!-- 指定连接池的初始化连接数  取值应在minPoolSize 与 maxPoolSize 之间.Default:3-->  <property name="initialPoolSize" value="20"/>  <!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。 Default:0-->  <property name="maxIdleTime" value="600"/>  <!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数. Default:3-->  <property name="acquireIncrement" value="5"/>  <!-- JDBC的标准,用以控制数据源内加载的PreparedStatements数量。  但由于预缓存的statements属于单个connection而不是整个连接池所以设置这个参数需要考虑到多方面的因数.如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default:0-->  <property name="maxStatements" value="5"/>  <!-- 隔多少秒检查所有连接池中的空闲连接.Default:0 -->  <property name="idleConnectionTestPeriod" value="60"/></bean><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><!-- 加载mybatis全局配置文件 --><property name="configLocation" value="classpath:mybatis/mybatis-config.xml"></property><!-- mapper xml路径 -->  <property name="mapperLocations" value="classpath:com/zns/mapper/xmls/*.xml" /> </bean><!-- 配置mapper扫描器 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 扫描这个包以及它的子包下的所有映射接口类,多个包逗号隔开 --><property name="basePackage" value="com.zns.mapper" /><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /></bean><!-- 配置Spring的事务管理器 与mabatis整合是用jdbc事务 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean></beans>

修改web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app><!-- springmvc前端控制器 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-mvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.action</url-pattern></servlet-mapping><!-- springmvc前端控制器   restful风格 --><servlet><servlet-name>springmvc_rest</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-mvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc_rest</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 配置Spring的核心监听器 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-context.xml,classpath:spring/spring-mybatis.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><filter>  <filter-name>characterEncodingFilter</filter-name>  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  <init-param>  <param-name>encoding</param-name>  <param-value>UTF-8</param-value>  </init-param>  <init-param>  <param-name>forceEncoding</param-name>  <param-value>true</param-value>  </init-param>  </filter>  <filter-mapping>  <filter-name>characterEncodingFilter</filter-name>  <url-pattern>/*</url-pattern>  </filter-mapping></web-app>

在src/main/webapp/WEB-INF下新建views/user/detail.jsp对应目录和文件

detail.jsp内容为

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>user detail</title>
</head>
<body>id为: ${userInfo.userID}
</body>
</html>

新建UserController

package com.zns.controller;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 org.springframework.web.bind.annotation.ResponseBody;
import com.zns.domain.User;
import com.zns.service.UserService;@Controller
@RequestMapping("/User")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/Detail1")public String Detail1(ModelMap modelMap, int id) throws Exception {User user = userService.getByID(id);modelMap.addAttribute("userInfo", user);return "/user/detail";}@RequestMapping("/Detail2")public @ResponseBody Object Detail2(int id) throws Exception {User user = userService.getByID(id);return user;}
}

启动项目访问测试

http://localhost/myproject/User/Detail1?id=10  跳转到jsp页面

http://localhost/myproject/User/Detail2?id=10  返回json数据

基本搭建完毕...

转载于:https://www.cnblogs.com/zengnansheng/p/10385920.html

Eclipse+Maven+SpringMVC+Mybatis+MySql搭建总结相关推荐

  1. maven+springMVC+mybatis+junit详细搭建过程

     springMVC+mybatis框架搭建 首先我们先要弄清搭建项目的一般流程,需要注意哪些方面,想要什么样的效果,自己的功能有哪些? (假设效果:项目目录结构清晰,能够查询到本地数据库中的内容 ...

  2. Eclipse + Spring boot +mybatis + mysql

    Eclipse + Spring boot +mybatis + mysql 如题.使用Springboot 2.0 版本进行网页的开发.原理和优点很多博文已经讲过了,这里不再赘述.但是很多项目按照他 ...

  3. SpringMVC + MyBatis + MySQL + Redis(作为二级缓存) 配置

    前言 Mybatis 有二级缓存,为什么还要用Redis? mybais一级缓存作用域是session,session commit之后缓存就失效了. mybais二级缓存作用域是sessionfac ...

  4. Spring+Mybatis+Mysql搭建分布式数据库访问框架

    一.前言 用Java开发企业应用软件, 经常会采用spring+MyBatis+MySQL搭建数据库框架.如果数据量很大,一个mysql库存储数据访问效率很低,往往会采用分库存储管理的方式.本文讲述如 ...

  5. Java+SSM(Spring+SpringMVC+Mybatis)+Mysql个性化新闻推荐系统 基于用户、项目、内容、聚类、混合的协同过滤推荐算法WebNewsRSM 源代码下载

    Java+SSM(Spring+SpringMVC+Mybatis)+Mysql个性化新闻推荐系统 基于用户.项目.内容.聚类.混合的协同过滤推荐算法WebNewsRSM 源代码下载 一.项目简介 1 ...

  6. SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统(功能包含分角色,报修管理、抄表管理、车位管理、房屋管理、业主管理、投诉管理、报修统计分析等)

    博客目录 SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统 实现功能截图 系统功能 使用技术 代码 完整源码 SSM框架(spring+springmv ...

  7. 基于SSM的家校通系统(Spring+SpringMVC+Mybatis+mysql)

    这是一基于SSM框架开发的家校通. 源代码: 基于SSM的家校通系统(Spring+SpringMVC+Mybatis+mysql).zip-Java文档类资源-CSDN下载这是一基于SSM(spri ...

  8. SpringMVC+Mybatis+MySQL配置Redis缓存

    SpringMVC+Mybatis+MySQL配置Redis缓存 1.准备环境: SpringMVC:spring-framework-4.3.5.RELEASE-dist Mybatis:3.4.2 ...

  9. Eclipse+Maven+Nexus+Tomcat远程搭建CentOS web server

    Eclipse+Maven+Nexus+Tomcat远程搭建CentOS web server 工具的使用,参考了很多前辈的资料,虽然不是转载但也算不上原创,仅供自己和大家参考罢了. 笔者的本意是要在 ...

最新文章

  1. Spring Boot 2.3.0 新特性:优雅停机!
  2. 支持大数据渲染下拉列表组件开发 SuperSelect(基于antd Select)
  3. 机器学习笔记:auto encoder
  4. flutter中state详解
  5. 被替换的项目不是替换值长度的倍数_面试官,为啥HashMap的长度是2的n次方?
  6. Shell 信号发送与捕捉
  7. c统计多线程总时间_SQL Server处理器性能指标–第2部分–处理器:%用户时间,处理器:%特权时间,总时间和线程指标
  8. Gym100923H Por Costel and the Match
  9. 内部排序的方法实验报告_十大经典排序算法Python版实现(附动图演示)
  10. kaggle数据集下载
  11. 七人表决器VHDL代码
  12. Drupal 建站
  13. 怎样用c语言预测股票价格,如何根据时间和价格的波动来预测股票走势
  14. 知识图谱方向顶会小记
  15. 微博超话显示服务器有点累,刚才手机刷微博,刷新了一下首页... - @菜菜_fz 的微博精选 - 微博国际站...
  16. 数据仓库开发——Kettle使用示例
  17. RT-Thread编程手册
  18. linux内核学习1:进程间通信IPC
  19. 2017年大数据、云计算、物联网发展趋势
  20. windows下Redis 主从读写分离部署

热门文章

  1. Iptables防火墙配置详解
  2. Django models数据库配置以及多数据库调用设置
  3. 修改linux的时间可以使用date指令
  4. Centos下用lamp搭建日志服务器
  5. Struts配置文件务必采用正确的DTD
  6. css案例学习之全局声明*{} 与body{}的区别
  7. 比特,比特流,IP,子网掩码,子网划分,MAC地址
  8. apache 安装配置 以及php-fpm结合apache配置
  9. java杂记-static
  10. Swift开发:仿Clear手势操作(拖拽、划动、捏合)UITableView