myEclipse 搭建 Spring boot+myBatis+maven 项目流程

时间:2023-03-09 04:32:13
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、在测试类中运行

myEclipse 搭建  Spring boot+myBatis+maven 项目流程

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

myEclipse 搭建  Spring boot+myBatis+maven 项目流程

myEclipse 搭建  Spring boot+myBatis+maven 项目流程

myEclipse 搭建  Spring boot+myBatis+maven 项目流程