最近公司做一个项目用到了mongodb,下面来介绍一下MongoRepository接口。

大家可以类比Hibernate的jpa,MongoRepository是一个springdata提供的一个有增删改查以及分页等操作的基本接口。

我们在使用接口时,只需要定义一个dao层的接口,例如:

interface UserResposity extends MongoRepository<User, String>{},   User是一个entity实体类。

下面贴上User实体类,@Data这个是Lombok提供的注解,就可以免除生成get,set方法等操作

 @Data
@Document(collection = "User")
public class User implements Serializable { @Id
private String id; /**
* 电话
*/
@Indexed(unique = true)
private String telephone; /**
* 昵称
*/
@Indexed
private String nickname; /**
* 头像地址
*/
private String avatar; /**
* 出生日期
*/
private Long birthday; }

我们要做的是书写对应的接口即可。UserResposity接口代码如下:要在接口继承MongoRepository类

 @Repository
public interface UserRepository extends MongoRepository<User, String> { User findByTelephone(String telephone);
}

我们只需要书写接口,不用自己去写接口的实现。例如findByTelephone方法,telephone是User类的一个属性

接口方法的基本命名方式为  find + By + 实体类属性名(首字母大写)+查询条件(首字母大写)

查询条件就是Like,用过SQL的大家都知道,就是模糊查询的意思。

例如模糊查询电话号码,如下:

User findByTelephoneLike(String telephone);

还有GreaterThan(大于) ,LessThan(小于) ,Between(在...之间), IsNotNull, NotNull(是否非空),Near(查询地理位置相近的)等。具体查看官网文档 https://docs.spring.io/spring-data/mongodb/docs/1.10.13.RELEASE/reference/html/#repositories.definition

如果需要查询的方法有多个字段可以用And来连接即可。

如果要使用这个接口,需要把接口注入。代码如下:

@Autowired
private UserRepository userRepository;

mongodb学习一(使用mongoResposity)的更多相关文章

  1. MongoDB学习笔记系列

    回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...

  2. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  3. Mongodb学习笔记一(Mongodb环境配置)

    Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...

  4. MongoDB学习记录

    一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...

  5. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

  6. MongoDB学习:(二)MongoDB简单使用

    MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...

  7. MongoDB学习:(一)MongoDB安装

    MongoDB学习:(一)MongoDB安装 MongoDB介绍:     直接百科了: MongoDB安装: 1:下载安装: MongoDB安装:https://www.mongodb.com/do ...

  8. MongoDB学习(四)客户端工具备份数据库

    在上一篇MongoDB学习(三)中讲解了如何在服务器端进行数据的导入导出与备份恢复,本篇介绍下如何利用客户端工具来进行远程服务器的数据备份到本地. 以客户端工具MongoVUE为例来进行讲解: 1.首 ...

  9. mongodb学习(1) 第一次开启 mongdb

    1.启动mongdb 可以设置为开机启动 mongod -dbpath=/data/mongodb --fork --port 27017 --logpath=/usr/local/mongodb/l ...

  10. MongoDB学习之--安全和认证

    MongoDB学习之--安全和认证 本文主要介绍两部分内容,Mongodb的安全检查配置以及安全认证操作: 虽然确保系统安全是系统管理员的重要工作,但是作为程序员了解其机制也是大有好处的,毕竟不是每个 ...

随机推荐

  1. linux整个日志目录查询记录

    在linux下面需要查看整个目录的日志,搜索用户的一个行为.因为不知道具体是那一天,一个个的查询也可以,但是太麻烦.可以用过下面的命令来实现: rep -iRl  "关键字" ./ ...

  2. 1 年经验 Java 求职面试题

    从 17 年的大三暑假就在这家公司实习转正,在这家公司呆了快2年了,随着公司新一轮的融资,看起来公司离上市更近了一步,但期权池也进一步稀释,没有期权的我感觉回报更少了,另外在这家公司接触到的东西也有瓶 ...

  3. 判断计算机是否可以ping通

    #!/usr/bin/python # -*- coding: utf-8 -*- import os of = open('servers.txt','r') ofw=open('servers_p ...

  4. Java实例---简单的投票系统

    代码分析  InputData.java package vote; import java.io.BufferedReader; import java.io.IOException; import ...

  5. 乘风破浪:LeetCode真题_013_Roman to Integer

    乘风破浪:LeetCode真题_013_Roman to Integer 一.前言 上一节我们讨论了如何把阿拉伯数字转换成罗马数字,现在我们需要思考一下如何把罗马数字转换成阿拉伯数字,其实我们仔细观擦 ...

  6. 音乐mp4网站 汽车服务工程 张旭

  7. C++计算器项目的初始部分

    作业代码 https://github.com/How-Come/object-oriented/tree/master/Calculator 一.解题思路 1.Scan类 这次题目的难点在于如何将输 ...

  8. python28 excel读取模块xlrd

    安装: pip install xlrd 简单使用: import xlrd book = xlrd.open_workbook(r'C:\Users\dinghanhua\Desktop\yqqap ...

  9. Jenkins在CentOS中的安装

    环境准备: tomcat,jdk 包准备:Jenkins的war包,下载路径:https://jenkins.io/download/ 把下载好的war包放在tomcat的webapps中,重启tom ...

  10. angularJs中的模块化操作

    一.全局的写法 有可能会跟其他程序有冲突 <!DOCTYPE HTML> <html ng-app="myApp"> <head> <me ...