1、新建一个工程

new-->maven project-->next-->next-->在filter中搜索webapp-->group id、Artifact id-->完成。

2、配置pom.xml文件

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>cn.mg39.ssm</groupId>
  6. <artifactId>test03</artifactId>
  7. <packaging>war</packaging>
  8. <version>0.0.1-SNAPSHOT</version>
  9. <name>test03 Maven Webapp</name>
  10. <url>http://maven.apache.org</url>
  11. <!--第一步 spring官方的叫stater poms,它可以提供dependency management,
  12. 也就是依赖管理,引入以后在声明其它dependency的时候就不需要version了
  13. 但是mybatis需要?????-->
  14. <parent>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-parent</artifactId>
  17. <version>1.5.3.RELEASE</version>
  18. </parent>
  19.  
  20. <dependencies>
  21. <dependency>
  22. <groupId>junit</groupId>
  23. <artifactId>junit</artifactId>
  24. <!-- <version>4.0</version> -->
  25. <scope>test</scope>
  26. </dependency>
  27. <!--第二步 官方解释spring-boot-start-web包含了spring webmvc和tomcat等web开发的特性-->
  28. <dependency>
  29. <groupId>org.springframework.boot</groupId>
  30. <artifactId>spring-boot-starter-web</artifactId>
  31. </dependency>
  32.  
  33. <!--添加MySQL的jar -->
  34. <dependency>
  35. <groupId>mysql</groupId>
  36. <artifactId>mysql-connector-java</artifactId>
  37. <scope>runtime</scope>
  38. </dependency>
  39.  
  40. <!--添加mybatis的jar -->
  41. <dependency>
  42. <groupId>org.mybatis.spring.boot</groupId>
  43. <artifactId>mybatis-spring-boot-starter</artifactId>
  44. <version>1.3.2</version>
  45. </dependency>
  46.  
  47. <!--添加模板框架thymeleaf -->
  48. <dependency>
  49. <groupId>org.springframework.boot</groupId>
  50. <artifactId>spring-boot-starter-thymeleaf</artifactId>
  51. </dependency>
  52.  
  53. <!--模板框架依赖的jar -->
  54. <dependency>
  55. <groupId>net.sourceforge.nekohtml</groupId>
  56. <artifactId>nekohtml</artifactId>
  57. <!-- <version>1.9.22</version> -->
  58. </dependency>
  59.  
  60. </dependencies>
  61. <build>
  62. <finalName>test03</finalName>
  63.  
  64. <!--第三步 如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。如果使用maven的spring-boot:run的话就不需要此配置。-->
  65. <plugins>
  66. <plugin>
  67. <groupId>org.springframework.boot</groupId>
  68. <artifactId>spring-boot-maven-plugin </artifactId>
  69. </plugin>
  70. </plugins>
  71.  
  72. </build>
  73. </project>

3、编写测试类(包名必须是其他包的父包,不然无法进入controller类)

测试类是程序的入口。写完项目后在此类右键-->Java Application就可以运行。

Test03.java

  1. package cn.mg39.ssm; //此包是其他所有包的父包,也就是其他所有包都要以cn.mg39.ssm开头,如cn.mg39.ssm.dao
  2.  
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RestController;
  7.  
  8. /**
  9. * 添加注解
  10. */
  11. @RestController
  12. @SpringBootApplication
  13. /**
  14. * 测试类名随便写,Test03是因这是我第三个boot
  15. * @author zhangzimu
  16. *
  17. */
  18. public class Test03 {
  19.  
  20. /**
  21. * 当项目运行起来时,在浏览器输入http://localhost:8080/login。页面就会有helloworld字样。
  22. * @return
  23. */
  24. @RequestMapping("/login")
  25. public String login() {
  26. return "HelloWorld";
  27. }
  28.  
  29. public static void main(String[] args) {
  30. SpringApplication.run(Test03.class, args);
  31. }
  32. }

4、建实体类(SysGroup)

SysGroup.java

  1. package cn.mg39.ssm.entity;
  2. /**
  3. * 分组实体
  4. *
  5. */
  6. public class SysGroup {
  7. private Integer id; //分组id
  8. private String name; //组名
  9. private String remark; //备注
  10.  
  11. public Integer getId() {
  12. return id;
  13. }
  14. public void setId(Integer id) {
  15. this.id = id;
  16. }
  17. public String getName() {
  18. return name;
  19. }
  20. public void setName(String name) {
  21. this.name = name;
  22. }
  23. public String getRemark() {
  24. return remark;
  25. }
  26. public void setRemark(String remark) {
  27. this.remark = remark;
  28. }
  29. public SysGroup() {
  30. super();
  31. // TODO Auto-generated constructor stub
  32. }
  33. public SysGroup(Integer id, String name, String remark) {
  34. super();
  35. this.id = id;
  36. this.name = name;
  37. this.remark = remark;
  38. }
  39. public SysGroup(Integer id) {
  40. super();
  41. this.id = id;
  42. }
  43. @Override
  44. public String toString() {
  45. return "SysGroup [id=" + id + ", name=" + name + ", remark=" + remark + "]";
  46. }
  47.  
  48. }

5、Dao接口(SysGroupDao)

    SysGroupDao.java

  1. package cn.mg39.ssm.dao;
  2.  
  3. import org.apache.ibatis.annotations.Mapper;
  4.  
  5. import cn.mg39.ssm.entity.SysGroup;
  6.  
  7. @Mapper
  8. public interface SysGroupDao {
  9. public Integer insert(SysGroup sysGroup);
  10. }

6、配置mapper.xml(SysGroupDaoMapper.xml)

  01、在main/resources文件夹下新建文件夹mapper用于管理mapper文件

  02、在mapper下写SysGroupDaoMapper.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5.  
  6. <mapper namespace="cn.mg39.ssm.dao.SysGroupDao">
  7. <insert id="insert" keyColumn="id" keyProperty="id"
  8. parameterType="sysGroup">
  9. insert into sys_group values(null,#{name},#{remark})
  10. </insert>
  11. </mapper>

7、service接口(SysGroupService)

  1. SysGroupService.java
  1. package cn.mg39.ssm.service;
  2.  
  3. import cn.mg39.ssm.entity.SysGroup;
  4. /**
  5. *service接口
  6. */
  7. public interface SysGroupService {
  8. public Boolean add(SysGroup sysGroup);
  9. }

8、service实现类(SysGroupServiceImpl)

  1. SysGroupServiceImpl.java
  1. package cn.mg39.ssm.service.impl;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Service;
  5.  
  6. import cn.mg39.ssm.dao.SysGroupDao;
  7. import cn.mg39.ssm.entity.SysGroup;
  8. import cn.mg39.ssm.service.SysGroupService;
  9.  
  10. //<bean id="sysGroupService" class="cn.mg39.ssm.service.impl.SysGroupService">
  11. @Service("sysGroupService") //实现的功能和上面这句相同
  12. public class SysGroupServiceImpl implements SysGroupService {
  13.  
  14. @Autowired //自动注入
  15. private SysGroupDao sysGroupDao;
  16. @Override
  17. public Boolean add(SysGroup sysGroup) {
  18.  
  19. return sysGroupDao.insert(sysGroup) > 0;
  20. }
  21.  
  22. }

9、编写controller类

SysGroupController.java

  1. package cn.mg39.ssm.controller;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6.  
  7. import cn.mg39.ssm.entity.SysGroup;
  8. import cn.mg39.ssm.service.SysGroupService;
  9.  
  10. @Controller
  11. public class SysGroupController {
  12. @Autowired //自动注入SysGroupService
  13. private SysGroupService sysGroupService;
  14.  
  15. //浏览器地址栏端口后不写路径时显示index.html(前缀和后缀在application.yml中配置)
  16. @RequestMapping("/")
  17. public String index() {
  18. return "index"; //classpath:/templates/index.html
  19. }
  20.  
  21. @RequestMapping("/addGroup") //index.html提交的数据传给addGroup,再判断跳转,跳转的网页原则和上面一样
  22. public String addGroup(SysGroup sysGroup) {
  23.  
  24. if (sysGroupService.add(sysGroup)) {
  25. return "success";
  26. }else {
  27. return "fail";
  28. }
  29.  
  30. }
  31. }

10、在resources下编写application.yml文件

application.yml(用于配置数据库连接需要的参数和mybatis)

  1. #spring的配置 application.yml
  2. #/templates/success.html
  3. spring:
  4. profiles:
  5. active: dev #和xml格式差不多,相当于单标签
  6. thymeleaf:
  7. cache: false #开发时关闭缓存,不然没法看到实时页面
  8. mode: LEGACYHTML5 #用非严格的 HTML
  9. encoding: UTF-8
  10. servlet:
  11. content-type: text/html
  12. prefix: classpath:/templates/ #controller中return中值的前缀
  13. suffix: .html #后缀
  14. datasource: #下面为连接数据库的相关参数
  15. url: jdbc:mysql://localhost:3306/hr_oa?characterEncoding=utf8&useSSL=false
  16. username: root
  17. password: root
  18. driver-class-name: com.mysql.jdbc.Driver
  19.  
  20. mybatis: #myBatis的相关配置参数
  21. type-aliases-package: cn.mg39.ssm.entity #扫描的包(忘记得差不多了)
  22. mapper-locations: classpath:mapper/*.xml #CRUD的配置文件(在mapper下)

11、编写HTML文件

  在main/resources下新建templates文件夹(因为前缀为templates),在里面写HTML

    index.html
      input的name和实体对应的属性值相同
    success.html
    fail.html

12、在测试类中运行

13、浏览器http://localhost:8080/

myEclipse 搭建 Spring boot+myBatis+maven 项目流程的更多相关文章

  1. spring Boot + MyBatis + Maven 项目,日志开启打印 sql

    在 spring Boot + MyBatis + Maven 项目中,日志开启打印 sql 的最简单方法,就是在文件 application.properties 中新增: logging.leve ...

  2. Maven 搭建spring boot多模块项目(附源码),亲测可以,感谢原创

    原创地址:https://segmentfault.com/a/1190000005020589 我的DEMO码云地址,持续添加新功能: https://gitee.com/itbase/Spring ...

  3. Maven 搭建spring boot多模块项目

    Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...

  4. spring boot+mybatis+quartz项目的搭建完整版

    1. 利用spring boot提供的工具(http://start.spring.io/)自动生成一个标准的spring boot项目架构 2. 因为这里我们是搭建spring boot+mybat ...

  5. idea搭建Spring Boot+Mybatis及使用教程

    环境准备 idea 15 jDK tomcat maven 搭建方式 官网下载源码包解压缩 使用idea中的Spring initializr创建 这两种方法创建的项目完全相同,只是操作方式不一样 这 ...

  6. Maven搭建Spring+SpringMVC+Mybatis+Shiro项目详解

    一. 环境搭建: 1. 开发工具:myeclipse 2014 / IDEA: 2. maven管理版本:apache-maven-3.0+: 3. jdk 1.7.0+4. Tomcat8.0 二: ...

  7. spring springmvc mybatis maven 项目整合示例-导航页面

    spring原理 实践解析-简单的helloworld spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包 spring原理案例-基本项目 ...

  8. IntelliJ IDEA 创建Spring+SpringMVC+mybatis+maven项目

    参考自:https://www.cnblogs.com/hackyo/p/6646051.html 第一步: 创建maven项目 输入项目名和工程id 选择maven 默认就可以了 刚开始时间比较长, ...

  9. 一键生成Spring MVC + MyBatis + maven项目

    首先创建一个新的maven项目,在src/main/java创建一个类Test 然后在Test复制以下代码: import java.io.*; import java.sql.Connection; ...

随机推荐

  1. Elasticsearch学习,请先看这一篇

    题记: Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识.原理从初学者认知.学习的角度,从以下9个方面进行详细梳理.欢迎讨论-- 0. 带着问题上路--ES是如 ...

  2. 解决div和img之间的空隙

    div盒子和img之间有空隙之前也遇到过几次这问题,今天又遇到了特地来总结下. 先上代码和效果图: <!doctype html><html lang="en"& ...

  3. 从零开始做一个Android自动化

    移动端自动化简单说就是,写好操作app的程序,运行起来,自动执行程序和测试用例,输出执行结果,结果正确,测试通过. 自动化可以方便地完成安装/卸载.启动/运行.UI适配等环节,节省时间: 同一测试脚本 ...

  4. 【串线篇】SpringMvc视图解析

    一. 请求处理方法执行完成后,最终返回一个 ModelAndView 对象.对于那些返回 String,View 或 ModeMap 等类型的处理方法,Spring MVC 也会在内部将它们装配成一个 ...

  5. RGBA的值0-255范围如何转换成0-1范围

    这样一个rgba(1,0,0,1) 如果我们要把它转换成 0-255范围 就是rgb分别乘以255 就是 rgba(255,0,0,1) 0-255转0-1范围 如 rgba(34,56,56,1)转 ...

  6. python 循环中使用多个subplot画子图像(python matplotlib use more than one subplot in loop)

    在循环语句中画出多个subplot图像代码如下 http://jonathansoma.com/lede/data-studio/classes/small-multiples/long-explan ...

  7. 总结web开发的四大域

    一.HttpSession域: 1.作用域范围: 一次会话. 数据产生后,使用后,如果还需要继续使用的情况下,HttpSession域 2.HttpSession作用: 在第一次调用request.g ...

  8. leetcode-第14周双周赛-1274-矩形内船只的数目

    题目描述: 自己的提交: # """ # This is Sea's API interface. # You should not implement it, or s ...

  9. cerebro使用

    一.安装cerebro 上传插件到任意路径 tar zxvf 解压插件包 [root@ngsocdev14 es]# ls cerebro-0.8.3.zip software [root@ngsoc ...

  10. jdbc的连接数据库,使用PreparedStatement实现增删改查等接口

    首先是连接,关闭资源等数据库操作 将连接数据库,关闭资源封装在JDBCUtils里 package jdbc.utils; import java.sql.Connection; import jav ...