SpringBoot整合MyBatis

一:目錄機構


二:pom.xml配置

  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties> 
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <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>1.3.2</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>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
        <!-- alibaba的druid數據庫連接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.9</version>
        </dependency>
    </dependencies>

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

三:application.yml配置

server:
  port: 911


spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        #druid相關配置
        druid:
          #監控統計攔截的filters
          filters: stat
          driver-class-name: com.mysql.jdbc.Driver
          #基本屬性
          url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
          username: root
          password: sasa

mybatis:
  mapper-locations: classpath:mapper/*.xml

四:Entity層

package com.zz.entity;

import java.util.Date;

public class IdSeq {
    private long pkId;
    private long seed;
    private Date updateTime;
    private long version;

    public IdSeq () {
        // TODO Auto-generated constructor stub
    }

    public long getPkId () {
        return pkId;
    }

    public void setPkId (long pkId) {
        this.pkId = pkId;
    }

    public long getSeed () {
        return seed;
    }

    public void setSeed (long seed) {
        this.seed = seed;
    }

    public Date getUpdateTime () {
        return updateTime;
    }

    public void setUpdateTime (Date updateTime) {
        this.updateTime = updateTime;
    }

    public long getVersion () {
        return version;
    }

    public void setVersion (long version) {
        this.version = version;
    }

}

五: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.zz.dao.IdSeqDao" >

  <resultMap type="com.zz.entity.IdSeq" id="resultMap">
      <id column="pkid" property="pkId"/>
      <result column="seed" property="seed"/>
      <result column="update_time" property="updateTime"/>
      <result column="version" property="version"/>
  </resultMap>
  
  <sql id="BASE_TABLE">
    t_id_sequence
  </sql>

  <select id="selectIdSeq" resultMap="resultMap">
      SELECT
        *
      FROM
        <include refid="BASE_TABLE"/>
  </select>


</mapper>

六:Dao層

package com.zz.dao;

import java.util.List;

import com.zz.entity.IdSeq;

public interface IdSeqDao {

    List <IdSeq> selectIdSeq ();
}

七:Service層

package com.zz.service;

import java.util.List;

import com.zz.entity.IdSeq;

public interface IdSeqService {
    List <IdSeq> selectIdSeq ();
}

Impl實現

package com.zz.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.zz.dao.IdSeqDao;
import com.zz.entity.IdSeq;
import com.zz.service.IdSeqService;

@Service
public class IdSeqSerivceImpl implements IdSeqService {

    @Autowired
    private IdSeqDao idSeqDao;

    @Override
    public List <IdSeq> selectIdSeq () {
        return idSeqDao.selectIdSeq ();
    }

}

八:Controller層

package com.zz.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.zz.entity.IdSeq;
import com.zz.service.IdSeqService;

@RestController
@RequestMapping ("/idValue")
public class IdController {

    @Autowired
    private IdSeqService idSeqService;

    @RequestMapping
    public List <IdSeq> idSeq () {
        return idSeqService.selectIdSeq ();
    }
}

九:啓動類

package com.zz;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication (scanBasePackages = "com.zz")
@MapperScan ("com.zz.dao")
public class App {
    public static void main (String[] args) {
        SpringApplication.run (App.class, args);
    }
}

十:演示結果


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章