myEclipse 搭建 Spring boot+myBatis+maven 项目流程
1、新建一个工程
new-->maven project-->next-->next-->在filter中搜索webapp-->group id、Artifact id-->完成。
2、配置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>cn.mg39.ssm</groupId>
<artifactId>test03</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>test03 Maven Webapp</name>
<url>http://maven.apache.org</url>
<!--第一步 spring官方的叫stater poms,它可以提供dependency management,
也就是依赖管理,引入以后在声明其它dependency的时候就不需要version了
但是mybatis需要?????-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
</parent> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<!-- <version>4.0</version> -->
<scope>test</scope>
</dependency>
<!--第二步 官方解释spring-boot-start-web包含了spring webmvc和tomcat等web开发的特性-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <!--添加MySQL的jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency> <!--添加mybatis的jar -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency> <!--添加模板框架thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency> <!--模板框架依赖的jar -->
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<!-- <version>1.9.22</version> -->
</dependency> </dependencies>
<build>
<finalName>test03</finalName> <!--第三步 如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。如果使用maven的spring-boot:run的话就不需要此配置。-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin </artifactId>
</plugin>
</plugins> </build>
</project>
3、编写测试类(包名必须是其他包的父包,不然无法进入controller类)
测试类是程序的入口。写完项目后在此类右键-->Java Application就可以运行。
Test03.java
package cn.mg39.ssm; //此包是其他所有包的父包,也就是其他所有包都要以cn.mg39.ssm开头,如cn.mg39.ssm.dao import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; /**
* 添加注解
*/
@RestController
@SpringBootApplication
/**
* 测试类名随便写,Test03是因这是我第三个boot
* @author zhangzimu
*
*/
public class Test03 { /**
* 当项目运行起来时,在浏览器输入http://localhost:8080/login。页面就会有helloworld字样。
* @return
*/
@RequestMapping("/login")
public String login() {
return "HelloWorld";
} public static void main(String[] args) {
SpringApplication.run(Test03.class, args);
}
}
4、建实体类(SysGroup)
SysGroup.java
package cn.mg39.ssm.entity;
/**
* 分组实体
*
*/
public class SysGroup {
private Integer id; //分组id
private String name; //组名
private String remark; //备注 public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public SysGroup() {
super();
// TODO Auto-generated constructor stub
}
public SysGroup(Integer id, String name, String remark) {
super();
this.id = id;
this.name = name;
this.remark = remark;
}
public SysGroup(Integer id) {
super();
this.id = id;
}
@Override
public String toString() {
return "SysGroup [id=" + id + ", name=" + name + ", remark=" + remark + "]";
} }
5、Dao接口(SysGroupDao)
SysGroupDao.java
package cn.mg39.ssm.dao; import org.apache.ibatis.annotations.Mapper; import cn.mg39.ssm.entity.SysGroup; @Mapper
public interface SysGroupDao {
public Integer insert(SysGroup sysGroup);
}
6、配置mapper.xml(SysGroupDaoMapper.xml)
01、在main/resources文件夹下新建文件夹mapper用于管理mapper文件
02、在mapper下写SysGroupDaoMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.mg39.ssm.dao.SysGroupDao">
<insert id="insert" keyColumn="id" keyProperty="id"
parameterType="sysGroup">
insert into sys_group values(null,#{name},#{remark})
</insert>
</mapper>
7、service接口(SysGroupService)
SysGroupService.java
package cn.mg39.ssm.service; import cn.mg39.ssm.entity.SysGroup;
/**
*service接口
*/
public interface SysGroupService {
public Boolean add(SysGroup sysGroup);
}
8、service实现类(SysGroupServiceImpl)
SysGroupServiceImpl.java
package cn.mg39.ssm.service.impl; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import cn.mg39.ssm.dao.SysGroupDao;
import cn.mg39.ssm.entity.SysGroup;
import cn.mg39.ssm.service.SysGroupService; //<bean id="sysGroupService" class="cn.mg39.ssm.service.impl.SysGroupService">
@Service("sysGroupService") //实现的功能和上面这句相同
public class SysGroupServiceImpl implements SysGroupService { @Autowired //自动注入
private SysGroupDao sysGroupDao;
@Override
public Boolean add(SysGroup sysGroup) { return sysGroupDao.insert(sysGroup) > 0;
} }
9、编写controller类
SysGroupController.java
package cn.mg39.ssm.controller; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import cn.mg39.ssm.entity.SysGroup;
import cn.mg39.ssm.service.SysGroupService; @Controller
public class SysGroupController {
@Autowired //自动注入SysGroupService
private SysGroupService sysGroupService; //浏览器地址栏端口后不写路径时显示index.html(前缀和后缀在application.yml中配置)
@RequestMapping("/")
public String index() {
return "index"; //classpath:/templates/index.html
} @RequestMapping("/addGroup") //index.html提交的数据传给addGroup,再判断跳转,跳转的网页原则和上面一样
public String addGroup(SysGroup sysGroup) { if (sysGroupService.add(sysGroup)) {
return "success";
}else {
return "fail";
} }
}
10、在resources下编写application.yml文件
application.yml(用于配置数据库连接需要的参数和mybatis)
#spring的配置 application.yml
#/templates/success.html
spring:
profiles:
active: dev #和xml格式差不多,相当于单标签
thymeleaf:
cache: false #开发时关闭缓存,不然没法看到实时页面
mode: LEGACYHTML5 #用非严格的 HTML
encoding: UTF-8
servlet:
content-type: text/html
prefix: classpath:/templates/ #controller中return中值的前缀
suffix: .html #后缀
datasource: #下面为连接数据库的相关参数
url: jdbc:mysql://localhost:3306/hr_oa?characterEncoding=utf8&useSSL=false
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver mybatis: #myBatis的相关配置参数
type-aliases-package: cn.mg39.ssm.entity #扫描的包(忘记得差不多了)
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 项目流程的更多相关文章
- spring Boot + MyBatis + Maven 项目,日志开启打印 sql
在 spring Boot + MyBatis + Maven 项目中,日志开启打印 sql 的最简单方法,就是在文件 application.properties 中新增: logging.leve ...
- Maven 搭建spring boot多模块项目(附源码),亲测可以,感谢原创
原创地址:https://segmentfault.com/a/1190000005020589 我的DEMO码云地址,持续添加新功能: https://gitee.com/itbase/Spring ...
- Maven 搭建spring boot多模块项目
Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...
- spring boot+mybatis+quartz项目的搭建完整版
1. 利用spring boot提供的工具(http://start.spring.io/)自动生成一个标准的spring boot项目架构 2. 因为这里我们是搭建spring boot+mybat ...
- idea搭建Spring Boot+Mybatis及使用教程
环境准备 idea 15 jDK tomcat maven 搭建方式 官网下载源码包解压缩 使用idea中的Spring initializr创建 这两种方法创建的项目完全相同,只是操作方式不一样 这 ...
- Maven搭建Spring+SpringMVC+Mybatis+Shiro项目详解
一. 环境搭建: 1. 开发工具:myeclipse 2014 / IDEA: 2. maven管理版本:apache-maven-3.0+: 3. jdk 1.7.0+4. Tomcat8.0 二: ...
- spring springmvc mybatis maven 项目整合示例-导航页面
spring原理 实践解析-简单的helloworld spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包 spring原理案例-基本项目 ...
- IntelliJ IDEA 创建Spring+SpringMVC+mybatis+maven项目
参考自:https://www.cnblogs.com/hackyo/p/6646051.html 第一步: 创建maven项目 输入项目名和工程id 选择maven 默认就可以了 刚开始时间比较长, ...
- 一键生成Spring MVC + MyBatis + maven项目
首先创建一个新的maven项目,在src/main/java创建一个类Test 然后在Test复制以下代码: import java.io.*; import java.sql.Connection; ...
随机推荐
- LeetCode Array Easy 414. Third Maximum Number
Description Given a non-empty array of integers, return the third maximum number in this array. If i ...
- 【彩彩只能变身队(第七组)】Alpha版
演示总结 -by 彩彩只能变身组(第七组) Part one:功能简介 教师端——班级主页 教师端——创建班级 教师端——批改作业 教师端——作业上交情况 学生端——班级主页 学生端——作业上传 在开 ...
- loadrunner 11安装教程
见百度经验,大神教程 https://jingyan.baidu.com/article/da1091fb199da7027849d6ff.html
- linux下各文件夹的结构及其用途说明
bin 二进制可执行命令 dev 设备特殊问题 etc 系统管理和配置文件 etc/rc或etc/rc.d或etc/rc?.d启动或改变运行级时运行的脚本或脚本的目录 etc/passwd 用户数据库 ...
- AI行业精选日报_人工智能(12·24)
特斯拉完全自动驾驶进步:新系统能识别交通信号标志 12 月 24 日,有美国车友称,升级最新的特斯拉 2019.40.50 系统后已经可以识别红绿灯和停车标志(目前仅限搭载 HW3.0 硬件的车型), ...
- zoj 2112 单点修改的主席树(树状数组套主席树)
题目大意: 区间第k大问题+单点修改 基本思路: 这个题有用整体二分,cdq分治,还有主席树+平衡树的,还有就是主席树+树状数组. 我采用的是b站电子科大大佬的主席树写法,尤其喜欢他的离散化方法,所以 ...
- Network基础(五):配置静态路由、配置浮动路由、配置多路由的静态路由、配置默认路由
一.配置静态路由 目标: 配置路由接口IP地址并通过静态路由的配置实现全网的互通. 方案: 按如下网络拓扑配置接口IP地址并通过静态路由的配置实现全网的互通如下图所示: 步骤: 步骤一:配置静态路由 ...
- IP地址的定义和划分
IP地址分类: IP地址根据首首字节开始位可以分为5大类: 分类 首字节开始位 首字节数字范围 ...
- Python面向对象 杂篇(后记)
异常处理 什么是异常: 我们在调试程序时,常常会因为各种报错信息导致程序无法运行,异常也是一个对象,用来表示错误.我们可以捕捉异常,并做相应处理,从而增加代码的友好程度. 异常处理: ...
- [CSP-S模拟测试41]题解
中间咕的几次考试就先咕着吧…… A.夜莺与玫瑰 枚举斜率.只考虑斜率为正且不平行于坐标轴的直线,最后把$ans\times 2$再$+1$即可. 首先肯定需要用$gcd(i,j)==1$确保斜率的唯一 ...