自搭建springBoot+mybatis+swagger项目并运行

项目结构如下:
在这里插入图片描述

说明:
config:此目录是swagger配置的扫描路径之类的信息。
entity:此目录是实体类的存放地址。
mapper:此目录存放连接sql层的最后一步。
service:此目录主要是进行业务处理。
web:显而易见,入口层。
以此类推如下:
application.properties:数据库配置层。
mybatis.properties:mybatis配置扫描层。

Swagger内容如下展示:

@Configuration
@EnableSwagger2
@ComponentScan("com.demo.web")
public class Swagger {
    @Bean
    public Docket createRestApi(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.demo.web"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        ApiInfo apiInfo = new ApiInfoBuilder().title("Spring Boot 整合 swagger ui")
                .description("Spring Boot 整合 swagger ui 和spring-data-JPA")
                .version("1.0")
                .build();

        return apiInfo;
    }

}

pom.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.5.6</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.demo</groupId>
	<artifactId>springboot_mybatis</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>springboot_mybatis</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.2.0</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.aLibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.10</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.12</version>
		</dependency>

		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.9.2</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.9.2</version>
		</dependency>
		<dependency>
			<groupId>io.swagger</groupId>
			<artifactId>swagger-annotations</artifactId>
			<version>1.5.19</version>
		</dependency>
		<dependency>
			<groupId>dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>1.1</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.batch</groupId>
			<artifactId>spring-batch-core</artifactId>
			<version>4.1.1.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>1.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.xmlbeans</groupId>
			<artifactId>xmlbeans</artifactId>
			<version>2.6.0</version>
		</dependency>
		<dependency>
			<groupId>xml-apis</groupId>
			<artifactId>xml-apis</artifactId>
			<version>1.4.01</version>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.4</version>
		</dependency>

	</dependencies>

	<build>
		<!--配置文件读取路径-->
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.xml</include>
					<include>**/*.properties</include>
				</includes>
			</resource>
		</resources>

		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>

	</build>

</project>

application.properties文件:

#数据源配置
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/*****?useUnicode=true&characterEncoding=utf8
spring.datasource.username = ****
spring.datasource.password = ****

mybatis.properties文件:

#mybatis 配置
mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:com/demo/mapper/xml/*.xml
mybatis.type-aliases-package=com.demo

启动类如下:

@SpringBootApplication
@MapperScan(value = "com.demo.mapper")  //此处是扫描mapper的路径
@PropertySource({"classpath:mybatis.properties",
		"classpath:application.properties"})// 读取.properties 文件路径
public class SpringbootMybatisApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringbootMybatisApplication.class, args);
	}

}

实体类(MFnnclChange)如下:

@ApiModel("实体类")
@Data
public class MFnnclChange implements Serializable {

    @ApiModelProperty("主键")
    private Long id;

    @JsonFormat(pattern="yyyy-MM-dd")
    private Date applyYmd;

    private Long newBrnchCd;
}

controller层代码(只是一个简单的全查操作):

@RestController
@Api("数据一览查询")
@RequestMapping("/mfnnclChange")
public class MFnnclChangeController {

    @Autowired
    private MFnnclChangeService mFnnclChangeService;

    @ApiOperation("获取数据一览")
    @GetMapping(value = "/list")
    public List<MFnnclChange> getMcorpList(){
        return mFnnclChangeService.findAll();
    }
}

service层:

@Service
public interface MFnnclChangeService {

    //数据一览查询
    public List<MFnnclChange> findAll();
}

impl层:

@Service
public class MFnnclChangeImpl implements MFnnclChangeService{

    @Autowired
    private MFnnclChangeMapper mFnnclChangeMapper;

    //一览查询
    @Override
    public List<MFnnclChange> findAll(){
        return  mFnnclChangeMapper.findAll();
    }
}

mapper层:

public interface MFnnclChangeMapper {

    //一览查询
    List<MFnnclChange> findAll();
}

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.demo.mapper.MFnnclChangeMapper">


    <resultMap id="MFnnclChangeResultMap" type="com.demo.entity.MFnnclChange">
        <id column="id" jdbcType="BIGINT" property="id" />
        <result column="apply_ymd" jdbcType="DATE" property="applyYmd" />
        <result column="new_brnch_cd" jdbcType="BIGINT" property="newBrnchCd"/>

    </resultMap>

    <sql id="MFnnclChange_Column_List">
        id, apply_ymd, new_brnch_cd
</sql>

    <select id="findAll" parameterType="java.util.List" resultMap="MFnnclChangeResultMap">
        SELECT  <include refid="MFnnclChange_Column_List"/> FROM m_fnncl_change
    </select>


</mapper>

最终启动后端程序,我们在页面访问
http://localhost:8080/swagger-ui.html
可得到以下画面:
在这里插入图片描述
点击其中的进行查询可得到以下结果集:
在这里插入图片描述
至此,此项目基础搭建和运行完了…

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值