What are the benefits of using a phoenix in a project?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2522个文字,预计阅读时间需要11分钟。
javapackage com.mimidai.common.dao.hbase;
import java.util.List;import com.mimidai.common.entity.user.UserPhoneContacts;import com.mimidai.common.utils.persistence.Page;
/** * 用户通讯录接口 * * @author core0 * @version cms */public interface UserPhoneContactsDao { /** * 查询数量 * @param page 分页信息 * @return 通讯录列表 */ List queryPage(Page page);
/** * 删除 * @param id 通讯录ID */ void delete(String id);}
接口package com.mimidai.common.dao.hbase;
import java.util.List;
import com.mimidai.common.entity.user.UserPhoneContacts;
import com.mimidai.common.utils.persistence.Page;
/**
* 用户通讯录接口 core0
* cms query count delete
*
* @author EVE
*
*/
public interface HBaseUserPhoneContactsDao {
/**
*
* @param userPhoneContacts
* 用户通讯录实例
* @param disableUserId
* 是否排除这个userId的
* @param sort
* 是否需要倒序排列
* @return
*/
List
package com.mimidai.common.utils.hbase;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import com.mimidai.common.dao.hbase.HBaseUserPhoneContactsDao;
import com.mimidai.common.entity.user.UserPhoneContacts;
import com.mimidai.common.utils.persistence.Page;
@Repository
public class HBaseUserPhoneContactsDaoImpl implements HBaseUserPhoneContactsDao {
private static Logger logger = LoggerFactory
.getLogger("log.hbase.HBaseUserPhoneContactsDaoImpl");
@Autowired
@Qualifier("phoenixJdbcTemplate")
private JdbcTemplate jdbcTemplate;
private SimpleDateFormat df = new SimpleDateFormat("MMM d, yyyy h:mm:ss aaa",Locale.ENGLISH);
@Override
public List
package com.mimidai.common.utils.hbase; import com.mimidai.common.utils.PropertiesUtils; import org.apache.commons.dbcp.BasicDataSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.core.JdbcTemplate; @Configuration public class PhoenixConfig { public BasicDataSource phoenixDataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("org.apache.phoenix.jdbc.PhoenixDriver"); //使用这种方式来获取 配置文件中的url String url = PropertiesUtils.getProperties().getProperty("phoenix_url"); // 正式环境 ip // dataSource.setUrl( // "jdbc:phoenix:XXXXXXXXXXXXXXXXXXX"); // 测试环境 ip // dataSource.setUrl("jdbc:phoenix:XXXXXXXXXXXX"); dataSource.setUrl(url); return dataSource; } @Bean public JdbcTemplate phoenixJdbcTemplate() { JdbcTemplate jdbcTemplate = new JdbcTemplate(); jdbcTemplate.setDataSource(phoenixDataSource()); return jdbcTemplate; } } 实体类(@field为solr注解 @Expose Gson注解)
package com.mimidai.common.entity.user; import com.google.gson.annotations.Expose; import java.util.Date; import org.apache.commons.lang.StringUtils; import org.apache.solr.client.solrj.beans.Field; import com.mimidai.common.entity.sys.ExcludePhone; /** * @ClassName: UserPhoneContacts * @Description: 用户通讯录表 * @author 李兴达 * @date 2015年12月25日 上午10:14:01 * */ public class UserPhoneContacts { @Field @Expose(serialize = false) private String id; /** * @Fields userId :用户id */ @Field @Expose private Long userId; /** * @Fields imei : 手机imei号 */ @Field @Expose private String imei; /** * @Fields imsi : 手机imsi号 */ @Field @Expose private String imsi; /** * @Fields phone : 联系人电话 */ @Field @Expose private String phone; /** * @Fields name : 名称 */ @Field @Expose private String name; /** * @Fields callTimes :通话次数 */ @Field @Expose private Long callTimes; /** * @Fields lastCall : 最后通话时间 */ @Field @Expose private Date lastCall; /** * @Fields updateTime : 更新时间 */ @Expose private Date updateTime; /** * @Fields state : 状态 */ @Expose private String state; /** * Fields state : 敏感 */ @Field @Expose private String sensitive; /** * */ @Field @Expose(serialize = false) private String version; @Expose private String lastCallTwo; /** * @Fields repetition : 是否和通信表电话重复 */ @Expose private boolean repetition; /** * 借款申请表id */ @Field @Expose private String loanApplyId; public String getId() { return id; } public void setId(String id) { this.id = id; } public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public String getImei() { return imei; } public void setImei(String imei) { this.imei = imei; } public String getImsi() { return imsi; } public void setImsi(String imsi) { this.imsi = imsi; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Long getCallTimes() { return callTimes; } public void setCallTimes(Long callTimes) { this.callTimes = callTimes; } public Date getLastCall() { if(this.lastCall == null){ Date date = new Date(0); try { if (StringUtils.isNotBlank(lastCallTwo)) { date = new Date(lastCallTwo); } } catch (Exception e) { date = new Date(0); } return date; }else{ return this.lastCall; } } public void setLastCall(Date lastCall) { this.lastCall = lastCall; } public String getLastCallTwo() { return lastCallTwo; } public void setLastCallTwo(String lastCallTwo) { this.lastCallTwo = lastCallTwo; } public Date getUpdateTime() { return updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } public String getState() { return state; } public void setState(String state) { this.state = state; } public String getSensitive() { return sensitive; } public void setSensitive(String sensitive) { this.sensitive = sensitive; } @Override public boolean equals(Object obj) { if (obj instanceof ExcludePhone) { ExcludePhone ep = (ExcludePhone) obj; return this.phone.equals(ep.getPhone()); } return super.equals(obj); } public boolean isRepetition() { return repetition; } public void setRepetition(boolean repetition) { this.repetition = repetition; } public String getLoanApplyId() { return loanApplyId; } public void setLoanApplyId(String loanApplyId) { this.loanApplyId = loanApplyId; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } }
本文共计2522个文字,预计阅读时间需要11分钟。
javapackage com.mimidai.common.dao.hbase;
import java.util.List;import com.mimidai.common.entity.user.UserPhoneContacts;import com.mimidai.common.utils.persistence.Page;
/** * 用户通讯录接口 * * @author core0 * @version cms */public interface UserPhoneContactsDao { /** * 查询数量 * @param page 分页信息 * @return 通讯录列表 */ List queryPage(Page page);
/** * 删除 * @param id 通讯录ID */ void delete(String id);}
接口package com.mimidai.common.dao.hbase;
import java.util.List;
import com.mimidai.common.entity.user.UserPhoneContacts;
import com.mimidai.common.utils.persistence.Page;
/**
* 用户通讯录接口 core0
* cms query count delete
*
* @author EVE
*
*/
public interface HBaseUserPhoneContactsDao {
/**
*
* @param userPhoneContacts
* 用户通讯录实例
* @param disableUserId
* 是否排除这个userId的
* @param sort
* 是否需要倒序排列
* @return
*/
List
package com.mimidai.common.utils.hbase;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import com.mimidai.common.dao.hbase.HBaseUserPhoneContactsDao;
import com.mimidai.common.entity.user.UserPhoneContacts;
import com.mimidai.common.utils.persistence.Page;
@Repository
public class HBaseUserPhoneContactsDaoImpl implements HBaseUserPhoneContactsDao {
private static Logger logger = LoggerFactory
.getLogger("log.hbase.HBaseUserPhoneContactsDaoImpl");
@Autowired
@Qualifier("phoenixJdbcTemplate")
private JdbcTemplate jdbcTemplate;
private SimpleDateFormat df = new SimpleDateFormat("MMM d, yyyy h:mm:ss aaa",Locale.ENGLISH);
@Override
public List
package com.mimidai.common.utils.hbase; import com.mimidai.common.utils.PropertiesUtils; import org.apache.commons.dbcp.BasicDataSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.core.JdbcTemplate; @Configuration public class PhoenixConfig { public BasicDataSource phoenixDataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("org.apache.phoenix.jdbc.PhoenixDriver"); //使用这种方式来获取 配置文件中的url String url = PropertiesUtils.getProperties().getProperty("phoenix_url"); // 正式环境 ip // dataSource.setUrl( // "jdbc:phoenix:XXXXXXXXXXXXXXXXXXX"); // 测试环境 ip // dataSource.setUrl("jdbc:phoenix:XXXXXXXXXXXX"); dataSource.setUrl(url); return dataSource; } @Bean public JdbcTemplate phoenixJdbcTemplate() { JdbcTemplate jdbcTemplate = new JdbcTemplate(); jdbcTemplate.setDataSource(phoenixDataSource()); return jdbcTemplate; } } 实体类(@field为solr注解 @Expose Gson注解)
package com.mimidai.common.entity.user; import com.google.gson.annotations.Expose; import java.util.Date; import org.apache.commons.lang.StringUtils; import org.apache.solr.client.solrj.beans.Field; import com.mimidai.common.entity.sys.ExcludePhone; /** * @ClassName: UserPhoneContacts * @Description: 用户通讯录表 * @author 李兴达 * @date 2015年12月25日 上午10:14:01 * */ public class UserPhoneContacts { @Field @Expose(serialize = false) private String id; /** * @Fields userId :用户id */ @Field @Expose private Long userId; /** * @Fields imei : 手机imei号 */ @Field @Expose private String imei; /** * @Fields imsi : 手机imsi号 */ @Field @Expose private String imsi; /** * @Fields phone : 联系人电话 */ @Field @Expose private String phone; /** * @Fields name : 名称 */ @Field @Expose private String name; /** * @Fields callTimes :通话次数 */ @Field @Expose private Long callTimes; /** * @Fields lastCall : 最后通话时间 */ @Field @Expose private Date lastCall; /** * @Fields updateTime : 更新时间 */ @Expose private Date updateTime; /** * @Fields state : 状态 */ @Expose private String state; /** * Fields state : 敏感 */ @Field @Expose private String sensitive; /** * */ @Field @Expose(serialize = false) private String version; @Expose private String lastCallTwo; /** * @Fields repetition : 是否和通信表电话重复 */ @Expose private boolean repetition; /** * 借款申请表id */ @Field @Expose private String loanApplyId; public String getId() { return id; } public void setId(String id) { this.id = id; } public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public String getImei() { return imei; } public void setImei(String imei) { this.imei = imei; } public String getImsi() { return imsi; } public void setImsi(String imsi) { this.imsi = imsi; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Long getCallTimes() { return callTimes; } public void setCallTimes(Long callTimes) { this.callTimes = callTimes; } public Date getLastCall() { if(this.lastCall == null){ Date date = new Date(0); try { if (StringUtils.isNotBlank(lastCallTwo)) { date = new Date(lastCallTwo); } } catch (Exception e) { date = new Date(0); } return date; }else{ return this.lastCall; } } public void setLastCall(Date lastCall) { this.lastCall = lastCall; } public String getLastCallTwo() { return lastCallTwo; } public void setLastCallTwo(String lastCallTwo) { this.lastCallTwo = lastCallTwo; } public Date getUpdateTime() { return updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } public String getState() { return state; } public void setState(String state) { this.state = state; } public String getSensitive() { return sensitive; } public void setSensitive(String sensitive) { this.sensitive = sensitive; } @Override public boolean equals(Object obj) { if (obj instanceof ExcludePhone) { ExcludePhone ep = (ExcludePhone) obj; return this.phone.equals(ep.getPhone()); } return super.equals(obj); } public boolean isRepetition() { return repetition; } public void setRepetition(boolean repetition) { this.repetition = repetition; } public String getLoanApplyId() { return loanApplyId; } public void setLoanApplyId(String loanApplyId) { this.loanApplyId = loanApplyId; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } }

