话不多说直接上干货。这里我们整合四个模块
common
dao
service
web
一、新建父工程,File 新建项目,选择Spring项目
点击下一步填写项目信息
点击下一步选择项目需要的依赖(根据自己需要的选择)
新建项目后删除以下目录,只保留xml、iml、.gitignore
这里注意的是 父项目中的打包方式为pom
到此为止、以上就建好了父工程。
二、新建子工程
点击项目根目录,选择新建子模块bree-common
选择maven,点击下一步
模块名字用-分割,增加可读性
新建bree-dao、bree-service、bree-web步骤和新建common的步骤一样。
三、添加springboot运行入口
在bree-web目录下新建目录 com.hwkj.bree,添加运行类
这个@SpringBootApplication注解是依赖spring-boot-starter-web,所以我开头在创建父项目中引入了这个依赖
添加controller包,新建测试类
@RestController
public class demoController {
@RequestMapping("/test")
public String test(){
return "你好啊,spring boot!!!";
}
}
启动项目,在浏览器访问http://localhost:8080/test
说明:controller的包需要放到Applicant类的同一级包,或者子包中,当然也可去手动修改这个扫描包的路径,这里只说明我的问题,这里不放到一起,会提示包不存在,无法启动
以上我们就配置好了spring boot的启动类,下面我们来配置各模块的pom文件,让各模块相互关联。
四、在子模块中添加各个子模块的依赖
在bree-dao中添加bree-common依赖
<dependencies>
<dependency>
<groupId>com.hwkj</groupId>
<artifactId>bree-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
在bree-service中添加bree-dao依赖
<dependencies>
<dependency>
<groupId>com.hwkj</groupId>
<artifactId>bree-dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
在bree-web添加bree-service依赖
<dependencies>
<dependency>
<groupId>com.hwkj</groupId>
<artifactId>bree-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
到此,我们配置完了各模块的关联
五、添加各个实体类和接口测试
1.先在bree-common中新建com.hwkj.bree.common包,在包下新建实体类
2.在bree-dao中新建com.hwkj.bree.dao包进行数据库处理
上面这两个模块是操作数据库的,我们先不配置,下面再说
3.在bree-service中新建com.hwkj.bree.service和com.hwkj.bree.service.impl包,处理业务
package com.hwkj.bree.service;
public interface demoService {
public String test();
}
package com.hwkj.bree.service.impl;
@Service
public class demoServiceImpl implements demoService {
@Override
public String test() {
return "模块调用";
}
}
4.在bree-web中的controller添加测试方法;
@RestController
public class demoController {
@Autowired
private demoService service;
@RequestMapping("/test")
public String test(){
// return "你好啊,spring boot!!!";
return service.test();
}
}
还是在浏览器访问http://localhost:8080/test
六,接下来我们整合mybatis
1、在父类中引入mybatis和mysql的包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
2、在com.hwkj.bree.common包下新建实体类,并生成get和set
package com.hwkj.bree.common;
import java.io.Serializable;
import java.util.Date;
public class demoEntity implements Serializable {
private static final long serialVersionUID = -1764514095260116666L;
/*
* 交费单ID
* */
private String billOrderID;
/*
* 交费单姓名
* */
private String personName;
public static long getSerialVersionUID() {
return serialVersionUID;
}
public String getBillOrderID() {
return billOrderID;
}
public void setBillOrderID(String billOrderID) {
this.billOrderID = billOrderID;
}
public String getPersonName() {
return personName;
}
public void setPersonName(String personName) {
this.personName = personName;
}
public String getIdNumber() {
return idNumber;
}
public void setIdNumber(String idNumber) {
this.idNumber = idNumber;
}
/*
* 交费单证件号
* */
private String idNumber;
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/*
* 应交金额
* */
// private BigDecimal payAmt;
/*
* 交费单创建时间
* */
private Date createTime;
}
3、在bree-dao模块中新建Mapper文件和调用的接口,mapper需要放到resources目录下,不然会扫描不到
package com.hwkj.bree.dao;
import com.hwkj.bree.common.demoEntity;
import org.springframework.stereotype.Repository;
@Repository
public interface demoMapper {
public demoEntity getById(String id);
}
demoMapper.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="com/hwkj/bree/dao/demoMapper">
<!-- <sql id="base_column">
billOrderID,personName,idNumber,payAmt,createTime
</sql>-->
<select id="getById" resultType="com.hwkj.bree.common.demoEntity" parameterType="string">
SELECT *
FROM billOrder
WHERE billOrderID = #{billOrderID}
</select>
</mapper>
4、在Applicant启动类上添加扫描mapper路径
5、添加application.yml配置文件,需要添加到bree-web的resource目录下
#mysql配置
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useSSL=false
password: root
username: root
#mybatis配置
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.hwkj.bree.common
#配置输出sql日志
logging:
level:
com.hwkj.bree.dao: DEBUG #将输出日志包的模式设置为DEBUG
6、然后我们在controller中和service\serviceImpl、dao中写调用的函数
在浏览器访问http://localhost:8080/getByID返回表中的数据
到此,我们已经完成整合