建立Mybatis-gnerator依赖
项目运行向上是要显示swagger页面首先要搭建Swagger环境,其次MyBatis配置,然后是Mybatis-generator的配置,映射配置,接下来我会一步一步记录详细步骤。
搭建Swagger环境
1.首先终止当前运行的项目
2.配置pom.xml
将
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency>
复制到根目录下的pom.xml,当出现两个swagger文件,就完成了一半的下载,3.检验是否真正下载完成:复制
package com.briup.apps.demo.config;
import org.springframework.context.annotation.Bean; import
org.springframework.context.annotation.Configuration; import
springfox.documentation.builders.ApiInfoBuilder; import
springfox.documentation.builders.PathSelectors; import
springfox.documentation.builders.RequestHandlerSelectors; import
springfox.documentation.service.ApiInfo; import
springfox.documentation.spi.DocumentationType; import
springfox.documentation.spring.web.plugins.Docket; import
springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration @EnableSwagger2 public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(“com.briup.apps.zp.web.controller”))
.paths(PathSelectors.any())
.build();
}private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("广西科技大学招聘品台") .description("昆山杰普软件科技有限公司,http://www.briup.com") .termsOfServiceUrl("http://www.briup.com") .version("1.0") .build(); } }
到昨天建的config中将23行的路径更改为自己对应的路径
4.检查是否有报错。成功后运行项目,在浏览器中访问localhost:8899/swagger-ui.html就会出现界面。
Mybatis配置
1.复制
package com.briup.apps.cms.config;
import org.mybatis.spring.annotation.MapperScan; import
org.springframework.context.annotation.Configuration;@Configuration @MapperScan(“com.briup.apps.demo.dao”) public class
MybatisConfig {}
到config中
2.在src-main-resources中新建一个文件夹,右击resources-new-directory,命名为mapper注意application.properties中指定映射文件的位置,复制
#配置指定映射文件的位置
mybatis.mapper-locations=classpath:/mapper/*.xml
到application.properties下
MyBatis-gnerator配置
1.MyBatis-gnerator是一个强大的插件,他的逆向工程,通过数据库的表创建pojo类(Java Bean类),dao层文件,映射文件简单的实体表类。首先停止当前运行的项目(点击如图)
2.复制
org.mybatis.generator mybatis-generator-maven-plugin 1.3.5
到pom.xml plugin下,等待下载,当右侧maven中Plugins有10个那么下载已经成功一般啦(如图)
3.复制generatorConfig.xml文件到resources中修改第7行中的地址为自己的jar包的地址
4.在终端调用(覆盖)
mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate
自动生成dao层代码和映射文件和pojo类
粘贴到项目终端Terminal运行(windows系统会出现下载失败需要在第12行后面加入时区”? useUnicode=true&characterEncoding=gbk&&serverTimezone=GMT”)
成功后会出现如图
检验是否成功
编写service层代码
1.在main-java-com.example.demo-service创建一个class名为impl,在impl下创建一个class,命名:IStudentServiceImp
2.编写代码
package com.example.demo.service.impl;
import com.example.demo.bean.Student; import
com.example.demo.bean.StudentExample; import
com.example.demo.dao.StudentMapper; import
com.example.demo.service.IStudentService; import
org.springframework.beans.factory.annotation.Autowired; import
org.springframework.stereotype.Service;import javax.annotation.Resource; import java.util.List;
@Service public class StudentServiceImpl implements IStudentService {
@Resource
private StudentMapper studentMapper;@Override public List<Student> findAll(){ //调用dao层方法 StudentExample example = new StudentExample(); return studentMapper.selectByExample(example); } @Override public void deleteById(Integer id){ studentMapper.deleteByPrimaryKey(id); } @Override public void saveOrUpdate(Student student){ //通过id判断是新增还是修改 //如果有id就是新增 //如果没有id就是新增 if (student.getId()!= null){ studentMapper.updateByPrimaryKey(student); }else{ studentMapper.insert(student); } } }
编写web层代码
1.在web-controller建一个class:StudentController
2.编写代码
package com.example.demo.web.controller;
import com.example.demo.bean.Student; import
com.example.demo.service.IStudentService; import
org.springframework.beans.factory.annotation.Autowired; import
org.springframework.web.bind.annotation.*;import java.util.List;
@RestController @RequestMapping("/student") public class
StudentController {
@Autowired
private IStudentService studentService;
@GetMapping(value=“findAll”)
public List findAll(){
return studentService.findAll();
}
@GetMapping(value = “deleteById”)
public String deleteById(Integer id){
studentService.deleteById(id);
return"删除成功";
}
@PostMapping(value = “saveOrUpdate”)
public String saveOrUpdate(Student student){
studentService.saveOrUpdate(student);
return “保存成功”;
}}
检验页面
添加的时候不用写id,删除的时候才用
但是一开始填中文在Mysql里是问号,这时候需要在application.properties里修改时区
?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
今天的学习就是这些啦。