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); } } }
-
進行測試