基础开发框架搭建1---springbooot集成mybatis

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29668759/article/details/89298286

基础开发框架搭建-springboot集成mybatis

1.项目结构

先使用idea创建最基础的spingboot项目,建好如下文件目录。
在这里插入图片描述

--src
	--main
		--java
			--com.springboot.merge
				--user						/* 模块名称 */
					--controller			/* controller层 */
					--dto					/* dto实体类层,也可叫做domain */
					--mapper				/* mappe接口层,也可叫做dao,与/resources/mapper/下的文件映射 */
					--service				/* service逻辑处理类层 */
		--resources
			--mapper						/* 存放mybatis XML文件 */
				--user						/* 模块名称 */

2.添加mysql连接、mybatis依赖

<!-- mysql依赖 -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.39</version>
</dependency>

<!-- mybatis依赖 -->
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.3.2</version>
</dependency>

整个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 http://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.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.springboot</groupId>
    <artifactId>merge</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>merge</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-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--springboot-web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- mysql依赖 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.39</version>
        </dependency>

        <!-- mybatis依赖 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

    </dependencies>

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

</project>

3.配置

server:
  port: 8081

spring:
  # 数据源/数据库配置
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/sprinngbootmerge?useSSL=false
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver

# mybatis配置
mybatis:
  type-aliases-package: com.springboot.merge.*.dto # 指向实体包路径
  mapper-locations: classpath*:/mapper/**/*.xml   # 指向mapper.xml文件的位置:模块名/mapper/*.xml

4.dto实体类

在com.springboot.merge.user.dto下新建UserTest类

package com.springboot.merge.user.dto;

/**
 * @ClassName UserTest
 * @description 测试实体类
 * @author [email protected]
 * @date 19-3-31 下午3:03
 * @version 1.0
 * @since JDK 1.8
 */
public class UserTest {
    private Long userId;
    private String userName;
    private String userPassword;

    public Long getUserId() {  return userId; }

    public void setUserId(Long userId) {  this.userId = userId; }

    public String getUserName() {  return userName; }

    public void setUserName(String userName) { this.userName = userName; }

    public String getUserPassword() {  return userPassword;  }

    public void setUserPassword(String userPassword) { this.userPassword = userPassword; }
}

5.mapper接口

在com.springboot.merge.user.mapper下新建UserTestMapper接口。
接口上加@Mapper注解;

package com.springboot.merge.user.mapper;

import com.springboot.merge.user.dto.UserTest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

/**
 * @ClassName UserTestMapper
 * @description 测试类接口
 * @author [email protected]
 * @date 19-4-14 下午4:29 
 * @version 1.0
 * @since JDK 1.8
 */
@Mapper
public interface UserTestMapper {
    List<UserTest> userTestInfo();
}

在启动类MergeApplication上加扫描配置mappe接口文件位置后可不用加@Mapper注解,此两种方式选一即可。
在这里插入图片描述

6.mapper.xml文件

在resources/mapper/user下新建UserTestMapper.xml文件用于实现mapper接口中的方法。

<?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.springboot.merge.user.mapper.UserTestMapper">

    <resultMap id="BaseMapper" type="com.springboot.merge.user.dto.UserTest">
        <id     column="user_id" jdbcType="INTEGER" property="userId"/>
        <result property="userName" jdbcType="VARCHAR" column="user_name"/>
        <result property="userPassword" jdbcType="VARCHAR" column="user_password"/>
    </resultMap>

    <!--查询信息-->
    <select id="userTestInfo" resultMap="BaseMapper">
        select * from USERTEST
    </select>
</mapper>

7.service逻辑处理类

在com.springboot.merge.user.service下新建UserTestService类。

package com.springboot.merge.user.service;

import com.springboot.merge.user.dto.UserTest;
import com.springboot.merge.user.mapper.UserTestMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

/**
 * @ClassName UserTestService
 * @description 测试Service类
 * @author [email protected]
 * @date 19-3-31 下午3:31
 * @version 1.0
 * @since JDK 1.8
 */

@Service
public class UserTestService {

    @Autowired
    private UserTestMapper mapper;

    public List<UserTest> queryUserTestInfo(){
        return mapper.userTestInfo();
    }
}

8.controller接口访问类

在com.springboot.merge.user.controller下新建UserTestController类。

package com.springboot.merge.user.controller;

import com.springboot.merge.user.dto.UserTest;
import com.springboot.merge.user.service.UserTestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

/**
 * @ClassName UserTestController
 * @description 测试控制类
 * @author [email protected]
 * @date 19-3-31 下午3:36
 * @version 1.0
 * @since JDK 1.8
 */

@RestController
@RequestMapping("")
public class UserTestController {

    @Autowired
    private UserTestService service;

    @GetMapping(value = "/user/test/info/query", produces="application/json")
    public List<UserTest> queryUserTestInfo(){
        return service.queryUserTestInfo();
    }
}

9.项目结构

在这里插入图片描述

9.启动测试

在这里插入图片描述

10.项目地址

后面会在此基础上集成一些基础框架
https://github.com/hellozhaoxudong/springbootMerge

猜你喜欢

转载自blog.csdn.net/qq_29668759/article/details/89298286