Springboot集成mybatis

Springboot集成mybatis

1.添加maven依赖

包括mybatis和要连接的数据库驱动,这里我连接的是postgres,使用MySQL的换成对应到依赖即可。

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.4.1209.jre7</version>
        </dependency>

2. 创建数据库表,插入数据

CREATE TABLE "logframe"."alarm" (
"alarm_id" varchar(36) COLLATE "default" NOT NULL,
"alarm_rule_id" varchar(36) COLLATE "default",
"alarm_rule_name" varchar(127) COLLATE "default",
"alarm_rule_type" varchar(63) COLLATE "default",
"alarm_level" int4,
"source_name" varchar(127) COLLATE "default",
"alarm_value" varchar(63) COLLATE "default",
"description" text COLLATE "default",
"alarm_time" int8,
"status" int4,
"norm" varchar(64) COLLATE "default",
"threshold" float4,
"real_value" float4,
"unit" varchar(32) COLLATE "default"
)
WITH (OIDS=FALSE)
;

3.新建对应的类

Alarm,我这个类所在的包为com.test.model

package com.test.model;

public class Alarm {
    private String alarmId;

    private String alarmRuleId;

    private String alarmRuleName;

    private String alarmRuleType;

    private Integer alarmLevel;

    private String sourceName;

    private String alarmValue;

    private String description;

    private Long alarmTime;

    private Integer status;

    private String norm;

    private Float threshold;

    private Float realValue;

    private String unit;

    public String getAlarmId() {
        return alarmId;
    }

    public void setAlarmId(String alarmId) {
        this.alarmId = alarmId;
    }

    public String getAlarmRuleId() {
        return alarmRuleId;
    }

    public void setAlarmRuleId(String alarmRuleId) {
        this.alarmRuleId = alarmRuleId;
    }

    public String getAlarmRuleName() {
        return alarmRuleName;
    }

    public void setAlarmRuleName(String alarmRuleName) {
        this.alarmRuleName = alarmRuleName;
    }

    public String getAlarmRuleType() {
        return alarmRuleType;
    }

    public void setAlarmRuleType(String alarmRuleType) {
        this.alarmRuleType = alarmRuleType;
    }

    public Integer getAlarmLevel() {
        return alarmLevel;
    }

    public void setAlarmLevel(Integer alarmLevel) {
        this.alarmLevel = alarmLevel;
    }

    public String getSourceName() {
        return sourceName;
    }

    public void setSourceName(String sourceName) {
        this.sourceName = sourceName;
    }

    public String getAlarmValue() {
        return alarmValue;
    }

    public void setAlarmValue(String alarmValue) {
        this.alarmValue = alarmValue;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Long getAlarmTime() {
        return alarmTime;
    }

    public void setAlarmTime(Long alarmTime) {
        this.alarmTime = alarmTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getNorm() {
        return norm;
    }

    public void setNorm(String norm) {
        this.norm = norm;
    }

    public Float getThreshold() {
        return threshold;
    }

    public void setThreshold(Float threshold) {
        this.threshold = threshold;
    }

    public Float getRealValue() {
        return realValue;
    }

    public void setRealValue(Float realValue) {
        this.realValue = realValue;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }
}

4. 创建mapper

package com.test.dao;

import com.test.model.Alarm;

public interface AlarmMapper {
    Alarm getAlarmById(String alarmId);
}

5. 创建对应的mapper.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.test.dao.AlarmMapper">
    <resultMap id="BaseResultMap" type="com.test.model.Alarm">
        <result column="alarm_id" property="alarmId" jdbcType="VARCHAR"/>
        <result column="alarm_rule_id" property="alarmRuleId" jdbcType="VARCHAR"/>
        <result column="alarm_rule_name" property="alarmRuleName" jdbcType="VARCHAR"/>
        <result column="alarm_rule_type" property="alarmRuleType" jdbcType="VARCHAR"/>
        <result column="alarm_level" property="alarmLevel" jdbcType="INTEGER"/>
        <result column="source_name" property="sourceName" jdbcType="VARCHAR"/>
        <result column="alarm_value" property="alarmValue" jdbcType="VARCHAR"/>
        <result column="description" property="description" jdbcType="VARCHAR"/>
        <result column="alarm_time" property="alarmTime" jdbcType="BIGINT"/>
        <result column="status" property="status" jdbcType="INTEGER"/>
        <result column="norm" property="norm" jdbcType="VARCHAR"/>
        <result column="threshold" property="threshold" jdbcType="REAL"/>
        <result column="real_value" property="realValue" jdbcType="REAL"/>
        <result column="unit" property="unit" jdbcType="VARCHAR"/>
    </resultMap>

    <!--根据id查询告警信息-->
    <select id="getAlarmById" resultMap="BaseResultMap">
        SELECT * from logframe.alarm where alarm_id = #{alarmId, jdbcType=VARCHAR}
    </select>
</mapper>

6. springboot启动类加@MapperScan注解

为了扫描对应的mapper,比如我的mapper在com.test.dao内,配置如下:

package com.test;

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


@SpringBootApplication
@MapperScan("com.test.dao")
public class Application {

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

}

7. 创建一个controller类测试下:

@RestController
public class TestController {
    @Autowired
    private AlarmMapper alarmMapper;

    @RequestMapping(value = "/alarm", method = RequestMethod.GET)
    public Alarm getAlarmById(String alarmId) {
        return alarmMapper.getAlarmById(alarmId);
    }
}

启动springboot应用,打开对于的接口即可看到返回数据。

比如我这边的测试:

http://localhost:8080/alarm?alarmId=409790cd-5633-4a47-b0bb-06b47dbbb52d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值