// Path: springboot-hbase/src/main/java/org/spring/springboot/dao/CityRowMapper.java
// public class CityRowMapper implements RowMapper<City> {
// 
//     private static byte[] COLUMN_FAMILY = "f".getBytes();
//     private static byte[] NAME = "name".getBytes();
//     private static byte[] AGE = "age".getBytes();
// 
//     @Override
//     public City mapRow(Result result, int rowNum) throws Exception {
//         String name = Bytes.toString(result.getValue(COLUMN_FAMILY, NAME));
//         int age = Bytes.toInt(result.getValue(COLUMN_FAMILY, AGE));
//     
//         City dto = new City();
//         dto.setCityName(name);
//         dto.setAge(age);
//         return dto;
//     }
// }
// 
// Path: springboot-webflux-5-thymeleaf-mongodb/src/main/java/org/spring/springboot/domain/City.java
// public class City {
// 
//     /**
//      * 城市编号
//      */
//     private Long id;
// 
//     /**
//      * 省份编号
//      */
//     private Long provinceId;
// 
//     /**
//      * 城市名称
//      */
//     private String cityName;
// 
//     /**
//      * 描述
//      */
//     private String description;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public Long getProvinceId() {
//         return provinceId;
//     }
// 
//     public void setProvinceId(Long provinceId) {
//         this.provinceId = provinceId;
//     }
// 
//     public String getCityName() {
//         return cityName;
//     }
// 
//     public void setCityName(String cityName) {
//         this.cityName = cityName;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// }
// 
// Path: springboot-hbase/src/main/java/org/spring/springboot/service/CityService.java
// public interface CityService {
//     
//     List<City> query(String startRow, String stopRow);
//     
//     public City query(String row);
//     
//     void saveOrUpdate();
// }


import com.spring4all.spring.boot.starter.hbase.api.HbaseTemplate;
import org.apache.hadoop.hbase.client.Mutation;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
import org.spring.springboot.dao.CityRowMapper;
import org.spring.springboot.domain.City;
import org.spring.springboot.service.CityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
package org.spring.springboot.service.impl;



/**
 * 城市业务逻辑实现类
 * <p>
 * Created by bysocket on 07/02/2017.
 */
@Service
public class CityServiceImpl implements CityService {
    
    @Autowired private HbaseTemplate hbaseTemplate;
    
    public List<City> query(String startRow, String stopRow) {
        Scan scan = new Scan(Bytes.toBytes(startRow), Bytes.toBytes(stopRow));
        scan.setCaching(5000);
        List<City> dtos = this.hbaseTemplate.find("people_table", scan, new CityRowMapper());
        return dtos;
    }
    
    public City query(String row) {
        City dto = this.hbaseTemplate.get("people_table", row, new CityRowMapper());
// Path: springboot-hbase/src/main/java/org/spring/springboot/dao/CityRowMapper.java
// public class CityRowMapper implements RowMapper<City> {
// 
//     private static byte[] COLUMN_FAMILY = "f".getBytes();
//     private static byte[] NAME = "name".getBytes();
//     private static byte[] AGE = "age".getBytes();
// 
//     @Override
//     public City mapRow(Result result, int rowNum) throws Exception {
//         String name = Bytes.toString(result.getValue(COLUMN_FAMILY, NAME));
//         int age = Bytes.toInt(result.getValue(COLUMN_FAMILY, AGE));
//     
//         City dto = new City();
//         dto.setCityName(name);
//         dto.setAge(age);
//         return dto;
//     }
// }
// 
// Path: springboot-webflux-5-thymeleaf-mongodb/src/main/java/org/spring/springboot/domain/City.java
// public class City {
// 
//     /**
//      * 城市编号
//      */
//     private Long id;
// 
//     /**
//      * 省份编号
//      */
//     private Long provinceId;
// 
//     /**
//      * 城市名称
//      */
//     private String cityName;
// 
//     /**
//      * 描述
//      */
//     private String description;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public Long getProvinceId() {
//         return provinceId;
//     }
// 
//     public void setProvinceId(Long provinceId) {
//         this.provinceId = provinceId;
//     }
// 
//     public String getCityName() {
//         return cityName;
//     }
// 
//     public void setCityName(String cityName) {
//         this.cityName = cityName;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// }
// 
// Path: springboot-hbase/src/main/java/org/spring/springboot/service/CityService.java
// public interface CityService {
//     
//     List<City> query(String startRow, String stopRow);
//     
//     public City query(String row);
//     
//     void saveOrUpdate();
// }


// Path: springboot-hbase/src/main/java/org/spring/springboot/service/impl/CityServiceImpl.java
import com.spring4all.spring.boot.starter.hbase.api.HbaseTemplate;
import org.apache.hadoop.hbase.client.Mutation;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
import org.spring.springboot.dao.CityRowMapper;
import org.spring.springboot.domain.City;
import org.spring.springboot.service.CityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;

package org.spring.springboot.service.impl;



/**
 * 城市业务逻辑实现类
 * <p>
 * Created by bysocket on 07/02/2017.
 */
@Service
public class CityServiceImpl implements CityService {
    
    @Autowired private HbaseTemplate hbaseTemplate;
    
    public List<City> query(String startRow, String stopRow) {
        Scan scan = new Scan(Bytes.toBytes(startRow), Bytes.toBytes(stopRow));
        scan.setCaching(5000);
        List<City> dtos = this.hbaseTemplate.find("people_table", scan, new CityRowMapper());
        return dtos;
    }
    
    public City query(String row) {
        City dto = this.hbaseTemplate.get("people_table", row, new CityRowMapper());
        return dto;