【Solr】SpringData-solrTemplate的增删改查操作

 只是为了演示操作,就不做MVC分层了。

Controller

package com.sjky.platform.fxwx.controller.wx;

import com.sjky.platform.common.base.web.BaseController;
import com.sjky.platform.fxwx.dao.member.FxMemberMapper;
import com.sjky.platform.fxwx.dto.FxMemberDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Sort;
import org.springframework.data.solr.core.SolrTemplate;
import org.springframework.data.solr.core.query.Criteria;
import org.springframework.data.solr.core.query.Query;
import org.springframework.data.solr.core.query.SimpleQuery;
import org.springframework.data.solr.core.query.result.ScoredPage;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;
import java.util.Optional;

@Controller
public class TestSolrMember extends BaseController {

    @Autowired
    private SolrTemplate solrTemplate;

    @Autowired
    private FxMemberMapper fxMemberMapper;

    @RequestMapping("/addMember.do")
    public void addMember() {
        /*根据主键进行判断是新增/修改一条数据*/
        FxMemberDto member = fxMemberMapper.selectByCode("007c8d98825143c0bc022b675e373501");
        solrTemplate.saveBean("member",member);
        /*增加List集合*/
        List<FxMemberDto> memberList = fxMemberMapper.getReconmmendProxyByCode("007c8d98825143c0bc022b675e373501");
        solrTemplate.saveBeans("member",memberList);
        /*提交*/
        solrTemplate.commit("member");
    }

    @RequestMapping("/getMember.do")
    public void getMember() {
        /*根据ID进行查询*/
        Optional<FxMemberDto> member = solrTemplate.getById("member", "19005",FxMemberDto.class);
        //“*:*”所有数据
        Query query = new SimpleQuery("*:*");
        //起始位置,默认0
        query.setOffset((long) 0);
        //每页条数 默认10
        query.setRows(15);
        //精确查询
        Criteria criteria = new Criteria("fms_proxy_name").is("付小萍");
        //criteria.add()相当于sql里的AND; criteria.or()相当于sql里的or
        // is:等于;contains:包含
        criteria = criteria.or("fms_proxy_name").contains("爱宝照片书");
        query.addCriteria(criteria);
        /*排序*/
        Sort id = new Sort(Sort.Direction.DESC, "id");
        query.addSort(id);
        //以下两种查询并无实际区别
        Page<FxMemberDto> fx_member1 = solrTemplate.query("member", query, FxMemberDto.class  );
        ScoredPage<FxMemberDto> memberPage = solrTemplate.queryForPage("member", query, FxMemberDto.class);
        //总条数
        long totalElements = memberPage.getTotalElements();
        //数据集合
        List<FxMemberDto> memberList = memberPage.getContent();
    }
    @RequestMapping("/deleteMember.do")
    public void deleteMember() {
        //“*:*”所有数据
        Query query = new SimpleQuery();
        Criteria criteria = new Criteria("fms_proxy_name").is("super璐");
        query.addCriteria(criteria);
        //根据ID删除数据
        solrTemplate.deleteByIds("member","19005");
        //删除query条件内的数据
        solrTemplate.delete("member",query);
        solrTemplate.commit("member");
    }
}

因为实体类涉及时间类型,所以新建一个DTO

注:@Field注解内容一定要与data-config.xml中配置要对应。

package com.sjky.platform.fxwx.dto;

import com.sjky.platform.common.base.model.BaseObject;
import org.apache.solr.client.solrj.beans.Field;
import org.springframework.data.solr.core.mapping.Indexed;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


public class FxMemberDto extends BaseObject implements Serializable {
    //主键
    @Field("fms_code")
    private String code;

    //自增列
    @Field("id")
    private Long id;

    //登陆账号
    @Field("fms_account")
    private String account;

    //密码
    @Field("fms_secret")
    private String secret;

    //会员名称
    @Field("fms_member_name")
    private String memberName;

    //会员类型,0会员,1代理
    @Field("fms_member_type")
    private String memberType;

    //所属代理code(会员专用)
    @Indexed("fms_proxy_code")
    private String proxyCode;

    //一级代理code
    @Field("fms_proxy_code_first")
    private String proxyCodeFirst;

    //二级代理code
    @Field("fms_proxy_code_second")
    private String proxyCodeSecond;

    //三级代理code
    @Field("fms_proxy_code_third")
    private String proxyCodeThird;

    //推荐代理code(代理专用)
    @Indexed("fms_proxy_code_reconmmend")
    private String proxyCodeReconmmend;

    //手机号码
    @Field("fms_mobile")
    private String mobile;

    //银行卡号
    @Field("fms_bank_num")
    private String bankNum;

    //开户行
    @Field("fms_bank_addr")
    private String bankAddr;

    //开户人姓名
    @Field("fms_bank_owner_name")
    private String bankOwnerName;

    //身份证号
    @Field("fms_id_card_num")
    private String idCardNum;

    //代理商等级,1一级代理,2二级代理,3三级代理
    @Field("fms_proxy_level")
    private String proxyLevel;

    // 会员推广二维码链接
    @Field("fms_qrcode_url")
    private String qrcodeUrl;

    //微信openid
    @Field("fms_wx_openid")
    private String wxOpenid;

    //微信unionid
    @Field("fms_wx_unionid")
    private String wxUnionid;

    //微信昵称
    @Field("fms_wx_nick")
    private String wxNick;

    //微信头像地址
    @Field("fms_wx_head_url")
    private String wxHeadUrl;

    //代理名称
    
    @Field("fms_proxy_name")
    private String proxyName;

    //推广码
    
    @Field("fms_recommend")
    private String recommend;

    //真实姓名
    
    @Field("fms_real_name")
    private String realName;

    //会员来源,0这里印,1门店
    
    @Field("fms_source")
    private String source;

    //销售佣金
    
    @Field("fms_sale_money")
    private BigDecimal saleMoney;

    //推荐佣金
    
    @Field("fms_recommend_money")
    private BigDecimal recommendMoney;

    //身份证正面
    
    @Field("fms_card_face_path")
    private String cardFacePath;

    //身份证背面
    @Field("fms_card_back_path")
    private String cardBackPath;

    //会员创建时间
    @Field("fms_create_time")
    private String createTime;

    //审核状态,0注册待审核,1审核通过,2审核不通过,3冻结,4升级待审核
    @Field("fms_check_sate")
    private String checkState;//审核状态,0待审核,1审核通过,2审核不通过,3冻结

    //三级代理申请时间
    @Field("fms_three_proxy_apply_time")
    private String threeProxyApplyTime;

    //三级代理审核时间
    @Field("fms_three_proxy_check_time")
    private String threeProxyCheckTime;

    //二级代理申请时间
    @Field("fms_two_proxy_apply_time")
    private String twoProxyApplyTime;

    //二级代理审核时间
    @Field("fms_two_proxy_check_time")
    private String twoProxyCheckTime;

    //一级代理申请时间
    @Field("fms_one_proxy_apply_time")
    private String oneProxyApplyTime;

    //一级代理审核时间
    @Field("fms_one_proxy_check_time")
    private String oneProxyCheckTime;

    //申请等级
    @Field("fms_proxy_level_apply")
    private String proxyLevelApply;

    //是否领取商品,true领取
    @Field("fms_is_goods")
    private Boolean isGoods;

    //是否展示首次登陆,true展示
    @Field("fms_is_once")
    private Boolean isOnce;

    //微信参数二维码的ticket
    @Field("fms_wx_ticket")
    private String wxTicket;

    private String memberProxyName;

    private String proxyWxHeadUrl;

    //会员数量
    @Field("fms_follower_count")
    private Long followerCount;

    // 推荐代理数量
    @Field("fms_recommend_proxy_count")
    private Long recommendProxyCount;

    // 微信号
    @Field("fms_wx_no")
    private String wxNo;

    public String getProxyWxHeadUrl() {
        return proxyWxHeadUrl;
    }

    public void setProxyWxHeadUrl(String proxyWxHeadUrl) {
        this.proxyWxHeadUrl = proxyWxHeadUrl;
    }

    public String getMemberProxyName() {
        return memberProxyName;
    }

    public void setMemberProxyName(String memberProxyName) {
        this.memberProxyName = memberProxyName;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account == null ? null : account.trim();
    }

    public String getSecret() {
        return secret;
    }

    public void setSecret(String secret) {
        this.secret = secret == null ? null : secret.trim();
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName == null ? null : memberName.trim();
    }

    public String getMemberType() {
        return memberType;
    }

    public void setMemberType(String memberType) {
        this.memberType = memberType == null ? null : memberType.trim();
    }

    public String getProxyCode() {
        return proxyCode;
    }

    public void setProxyCode(String proxyCode) {
        this.proxyCode = proxyCode == null ? null : proxyCode.trim();
    }

    public String getProxyCodeFirst() {
        return proxyCodeFirst;
    }

    public void setProxyCodeFirst(String proxyCodeFirst) {
        this.proxyCodeFirst = proxyCodeFirst == null ? null : proxyCodeFirst.trim();
    }

    public String getProxyCodeSecond() {
        return proxyCodeSecond;
    }

    public void setProxyCodeSecond(String proxyCodeSecond) {
        this.proxyCodeSecond = proxyCodeSecond == null ? null : proxyCodeSecond.trim();
    }

    public String getProxyCodeThird() {
        return proxyCodeThird;
    }

    public void setProxyCodeThird(String proxyCodeThird) {
        this.proxyCodeThird = proxyCodeThird == null ? null : proxyCodeThird.trim();
    }

    public String getProxyCodeReconmmend() {
        return proxyCodeReconmmend;
    }

    public void setProxyCodeReconmmend(String proxyCodeReconmmend) {
        this.proxyCodeReconmmend = proxyCodeReconmmend == null ? null : proxyCodeReconmmend.trim();
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile == null ? null : mobile.trim();
    }

    public String getBankNum() {
        return bankNum;
    }

    public void setBankNum(String bankNum) {
        this.bankNum = bankNum == null ? null : bankNum.trim();
    }

    public String getBankAddr() {
        return bankAddr;
    }

    public void setBankAddr(String bankAddr) {
        this.bankAddr = bankAddr == null ? null : bankAddr.trim();
    }

    public String getBankOwnerName() {
        return bankOwnerName;
    }

    public void setBankOwnerName(String bankOwnerName) {
        this.bankOwnerName = bankOwnerName == null ? null : bankOwnerName.trim();
    }

    public String getIdCardNum() {
        return idCardNum;
    }

    public void setIdCardNum(String idCardNum) {
        this.idCardNum = idCardNum == null ? null : idCardNum.trim();
    }

    public String getProxyLevel() {
        return proxyLevel;
    }

    public void setProxyLevel(String proxyLevel) {
        this.proxyLevel = proxyLevel == null ? null : proxyLevel.trim();
    }

    public String getQrcodeUrl() {
        return qrcodeUrl;
    }

    public void setQrcodeUrl(String qrcodeUrl) {
        this.qrcodeUrl = qrcodeUrl == null ? null : qrcodeUrl.trim();
    }

    public String getWxOpenid() {
        return wxOpenid;
    }

    public void setWxOpenid(String wxOpenid) {
        this.wxOpenid = wxOpenid == null ? null : wxOpenid.trim();
    }

    public String getWxUnionid() {
        return wxUnionid;
    }

    public void setWxUnionid(String wxUnionid) {
        this.wxUnionid = wxUnionid == null ? null : wxUnionid.trim();
    }

    public String getWxNick() {
        return wxNick;
    }

    public void setWxNick(String wxNick) {
        this.wxNick = wxNick == null ? null : wxNick.trim();
    }

    public String getWxHeadUrl() {
        return wxHeadUrl;
    }

    public void setWxHeadUrl(String wxHeadUrl) {
        this.wxHeadUrl = wxHeadUrl == null ? null : wxHeadUrl.trim();
    }

    public String getProxyName() {
        return proxyName;
    }

    public void setProxyName(String proxyName) {
        this.proxyName = proxyName == null ? null : proxyName.trim();
    }

    public String getRecommend() {
        return recommend;
    }

    public void setRecommend(String recommend) {
        this.recommend = recommend == null ? null : recommend.trim();
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName == null ? null : realName.trim();
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source == null ? null : source.trim();
    }

    public BigDecimal getSaleMoney() {
        return saleMoney;
    }

    public void setSaleMoney(BigDecimal saleMoney) {
        this.saleMoney = saleMoney;
    }

    public BigDecimal getRecommendMoney() {
        return recommendMoney;
    }

    public void setRecommendMoney(BigDecimal recommendMoney) {
        this.recommendMoney = recommendMoney;
    }

    public String getCardFacePath() {
        return cardFacePath;
    }

    public void setCardFacePath(String cardFacePath) {
        this.cardFacePath = cardFacePath == null ? null : cardFacePath.trim();
    }

    public String getCardBackPath() {
        return cardBackPath;
    }

    public void setCardBackPath(String cardBackPath) {
        this.cardBackPath = cardBackPath == null ? null : cardBackPath.trim();
    }



    public String getCheckState() {
        return checkState;
    }

    public void setCheckState(String checkState) {
        this.checkState = checkState;
    }



    public String getProxyLevelApply() {
        return proxyLevelApply;
    }

    public void setProxyLevelApply(String proxyLevelApply) {
        this.proxyLevelApply = proxyLevelApply;
    }

    public Boolean getGoods() {
        return isGoods;
    }

    public void setGoods(Boolean goods) {
        isGoods = goods;
    }

    public Boolean getIsOnce() {
        return isOnce;
    }

    public void setIsOnce(Boolean once) {
        isOnce = once;
    }

    public String getWxTicket() {
        return wxTicket;
    }

    public void setWxTicket(String wxTicket) {
        this.wxTicket = wxTicket;
    }

    public Long getFollowerCount() {
        return followerCount;
    }

    public void setFollowerCount(Long followerCount) {
        this.followerCount = followerCount;
    }

    public Long getRecommendProxyCount() {
        return recommendProxyCount;
    }

    public void setRecommendProxyCount(Long recommendProxyCount) {
        this.recommendProxyCount = recommendProxyCount;
    }

    public String getWxNo() {
        return wxNo;
    }

    public void setWxNo(String wxNo) {
        this.wxNo = wxNo;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getThreeProxyApplyTime() {
        return threeProxyApplyTime;
    }

    public void setThreeProxyApplyTime(String threeProxyApplyTime) {
        this.threeProxyApplyTime = threeProxyApplyTime;
    }

    public String getThreeProxyCheckTime() {
        return threeProxyCheckTime;
    }

    public void setThreeProxyCheckTime(String threeProxyCheckTime) {
        this.threeProxyCheckTime = threeProxyCheckTime;
    }

    public String getTwoProxyApplyTime() {
        return twoProxyApplyTime;
    }

    public void setTwoProxyApplyTime(String twoProxyApplyTime) {
        this.twoProxyApplyTime = twoProxyApplyTime;
    }

    public String getTwoProxyCheckTime() {
        return twoProxyCheckTime;
    }

    public void setTwoProxyCheckTime(String twoProxyCheckTime) {
        this.twoProxyCheckTime = twoProxyCheckTime;
    }

    public String getOneProxyApplyTime() {
        return oneProxyApplyTime;
    }

    public void setOneProxyApplyTime(String oneProxyApplyTime) {
        this.oneProxyApplyTime = oneProxyApplyTime;
    }

    public String getOneProxyCheckTime() {
        return oneProxyCheckTime;
    }

    public void setOneProxyCheckTime(String oneProxyCheckTime) {
        this.oneProxyCheckTime = oneProxyCheckTime;
    }

    public Boolean getOnce() {
        return isOnce;
    }

    public void setOnce(Boolean once) {
        isOnce = once;
    }
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值