phoenix+springBoot+mybatis 整合

springBoot+mybatis+phoenix整合

  • 引入相關依賴

     <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.7.RELEASE</version>
        </parent>
    
    
        <dependencies>
        
    
            <!--引入mybatis-springboot-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.1</version>
            </dependency>
        <!--引入數據源-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.1.12</version>
            </dependency>
    
            <!--引入springboot測試-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        <!--引入Phoenix-core-->
            <dependency>
                <groupId>org.apache.phoenix</groupId>
                <artifactId>phoenix-core</artifactId>
                <version>5.0.0-HBase-2.0</version>
            </dependency>
        <!--引入hadoop=common-->
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
                <version>2.7.1</version>
            </dependency>
       <!--引入lombok-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
        </dependencies>
    
    
  • 編寫application.yml

    spring:
      datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: org.apache.phoenix.jdbc.PhoenixDriver
        url: jdbc:phoenix:192.168.19.148:2181
        username: root
        password: root
    
    mybatis:
      mapper-locations: classpath:com/jun/mapper/*.xml
      type-aliases-package: com.junjia.entity
    
    
  • 編寫Application啓動類

    package com.junjia;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    @SpringBootApplication
    @MapperScan("com.junjia.dao")
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class,args);
        }
    }
    
    
  • 創建實體

    package com.junjia.entity;
    
    import lombok.Data;
    
    import java.util.Date;
    @Data
    public class Order {
    
    
      private Integer id;
    
      private String orderCode;
    
      private Float totalAmount;
    
      private Date createTime;
    
      private Integer userId;
    }
    
    
  • 編寫DAO接口

    package com.junjia.dao;
    
    import com.junjia.entity.Order;
    
    import java.util.List;
    public interface OrderDao {
        /**
         * 查詢所有數據
         * @return
         */
        List<Order> queryAll();
    }
    
    
  • 編寫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.junjia.dao.OrderDao">
      <resultMap id="BaseResultMap" type="com.junjia.entity.Order">
           <result column="id" jdbcType="INTEGER" property="id"/>
          <result column="order_code" jdbcType="VARCHAR" property="orderCode"/>
          <result column="total_amount" jdbcType="DECIMAL" property="totalAmount"/>
          <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
          <result column="user_id" jdbcType="INTEGER" property="userId"/>
      </resultMap>
    <sql id="BaseSql">
          id,order_code,total_amount,create_time,user_id
    </sql>
     <select id="queryAll" resultMap="BaseResultMap">
         select <include refid="BaseSql"/> from car_order
     </select>
    
    </mapper>
    
  • 創建Serivice

    package com.junjia.service;
    
    import com.junjia.entity.Order;
    
    import java.util.List;
    
    public interface OrderService {
        /**
         * 查詢所有數據
         * @return
         */
        List<Order> queryAll();
    }
    
    
  • 創建實現類

    package com.junjia.service;
    
    import com.junjia.dao.OrderDao;
    import com.junjia.entity.Order;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service
    public class OrderServiceImpl implements OrderService{
        @Autowired
        private OrderDao orderDao;
    
        @Override
        public List<Order> queryAll() {
            List<Order> orders = orderDao.queryAll();
            return orders;
        }
    }
    
    
  • 編寫測試類

    package com.junjia;
    
    import com.junjia.entity.Order;
    import com.junjia.service.OrderService;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import java.util.List;
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = Application.class)
    public class TestPhoenix {
    
        @Autowired
        private OrderService orderService;
    
        @Test
        public void queryAll(){
            List<Order> orders = orderService.queryAll();
            for (Order order : orders) {
                System.out.println(order);
            }
        }
    
    }
    
    
  • 進行測試

在這裏插入圖片描述

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