mongodb学习一(使用mongoResposity)
最近公司做一个项目用到了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)的更多相关文章
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- Mongodb学习笔记一(Mongodb环境配置)
Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...
- MongoDB学习记录
一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...
- PHP操作MongoDB学习笔记
<?php/*** PHP操作MongoDB学习笔记*///*************************//** 连接MongoDB数据库 **////*************** ...
- MongoDB学习:(二)MongoDB简单使用
MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...
- MongoDB学习:(一)MongoDB安装
MongoDB学习:(一)MongoDB安装 MongoDB介绍: 直接百科了: MongoDB安装: 1:下载安装: MongoDB安装:https://www.mongodb.com/do ...
- MongoDB学习(四)客户端工具备份数据库
在上一篇MongoDB学习(三)中讲解了如何在服务器端进行数据的导入导出与备份恢复,本篇介绍下如何利用客户端工具来进行远程服务器的数据备份到本地. 以客户端工具MongoVUE为例来进行讲解: 1.首 ...
- mongodb学习(1) 第一次开启 mongdb
1.启动mongdb 可以设置为开机启动 mongod -dbpath=/data/mongodb --fork --port 27017 --logpath=/usr/local/mongodb/l ...
- MongoDB学习之--安全和认证
MongoDB学习之--安全和认证 本文主要介绍两部分内容,Mongodb的安全检查配置以及安全认证操作: 虽然确保系统安全是系统管理员的重要工作,但是作为程序员了解其机制也是大有好处的,毕竟不是每个 ...
随机推荐
- xml php 解析
JSON作为数据交换可以说已经成为了一种事实上的标准,但是前几年和它对应的xml虽然说用的越来越少,但是我感觉还是有他可以应用的地方. json更偏重于程序员来使用和解读,而xml则更适合用户来使用和 ...
- Linux案例01:eth0网卡异常
一.现象描述 今天在调试两台物理机,做完配置重启主机后,发现一台服务器网络无法ssh连接,通过ILO进去ifconfig发现eth0配置的IP地址等信息丢失,手动重启后,可以ssh连接,但过一段时间, ...
- 详解CATransformLayer
详解CATransformLayer CATransformLayer与CALayer有着细微的差别,但这些差别会影响到3D变换的动画效果. 动画都有坐标系,如下所示(注意,这个不是iOS中的坐标系, ...
- 定义类/实例(Class)
# -*- coding: UTF-8 -*- class pp(): '''Description''' def __init__(self,name): #初始化函数 self.nam ...
- ZT 王国维先生“人生三大境界”的具体含义是什么?
昨夜西风凋碧树.独上高楼,望尽天涯路. 衣带渐宽终不悔,为伊消得人憔悴. 众里寻他千百度,蓦然回首,那人却在,灯火阑珊处. 这三句本来都是言情话相思的佳句,却被王国维用以表现“悬思——苦索——顿悟”的 ...
- 43、ThreadPool 、WaitHandle、原子操作InterLocked
ThreadPool 创建线程需要时间.如果有不同的小任务要完成,就可以事先创建许多线程/在应完成这些任务时发出请求.不需要自己创建这样一个列表. 该列表由ThreadPool类托管.这个类会在需要时 ...
- codeforces 666C Codeword
codeforces 666C Codeword 题意 q个询问,一种询问是给你一个字符串,还有一种是问长度为n的,包含当前字符串为子序列的字符串有多少个. 题解 容易写出式子,但是不好化简. 观察一 ...
- wireshark:no interface can be used for capturing in this system with the current configuration
在虚拟机unbuntu中,进行wireshark抓包,出现:no interface can be used for capturing in this system with the current ...
- bzoj 4712: 洪水
[权限题][https://www.lydsy.com/JudgeOnline/status.php?problem_id=4712&jresult=4] 这道动态\(dp\)终于不是独立集/ ...
- 【[国家集训队] Crash 的文明世界】
先写一个五十分的思路吧 首先这道题有一个弱化版 [POI2008]STA-Station 相当于\(k=1\),于是就是一个非常简单的树形\(dp\)的\(up\ \ and\ \ down\)思想 ...