pom

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

yml配置

spring:
data:
mongodb:
# uri: mongodb://root:123456@127.0.0.1:27017/chemical
host: 192.168.0.45
port: 27017
database: chemical
username: root
password: '123456'

MondoDB实体类

package com.meeno.inner.oa.common.employee.entity;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import org.springframework.data.mongodb.core.mapping.Document; import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.Date; /**
* @description: 员工登录记录
* @author: Wzq
* @create: 2020-03-19 17:50
*/
@Document
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@EntityListeners(AuditingEntityListener.class)
public class EmployeeLoginRecord { @Id
private Long objectId; /**
* 用户id
*/
private Long userId; /**
* 登录时间
*/
private Date loginDate; @CreatedDate
private Date createDate; @LastModifiedDate
private Date UpdateDate; @CreatedBy
private Long creatorId; @LastModifiedBy
private Long updateId; public EmployeeLoginRecord(Long userId, Date loginDate) {
this.userId = userId;
this.loginDate = loginDate;
}
}

Jpa Repository

package com.meeno.inner.oa.common.employee.repository;

import com.meeno.inner.oa.common.employee.entity.EmployeeLoginRecord;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; /**
* @description: 员工登录记录Repository
* @author: Wzq
* @create: 2020-03-20 09:59
*/
@Repository
public interface EmployeeLoginRecordRepository extends MongoRepository<EmployeeLoginRecord,Long>{ Integer countByUserId(Long userId); }

使用JPA

@Autowired
MongoTemplate mongoTemplate;
@Autowired
EmployeeLoginRecordRepository employeeLoginRecordRepository; @Override
public void addLoginRecord(Long userId) {
EmployeeLoginRecord record = new EmployeeLoginRecord(userId, new Date());
this.mongoTemplate.insert(record);
} @Override
public Boolean isFirstLogin(Long userId) {
//mysql中记录的是否第一次登陆
Employee employee = this.employeeRepository.getByUserId(userId);
Integer isFirstLogin = employee == null ? null : employee.getIsFirstLogin();
boolean isMysqlFirstLogin = (isFirstLogin == null || !Constants.NOT_IS_FIRST_LOGIN.equals(isFirstLogin));
//mongodb 判断是否第一次登陆
Integer count = this.employeeLoginRecordRepository.countByUserId(userId);
count = count == null ? 0 : count;
boolean isMongoFirstLoginCount = count.intValue() < 1 ? true : false;
//mysql 和 mongodb中一个找个不是第一次登陆就返回true
if (isMysqlFirstLogin || isMongoFirstLoginCount) {
return true;
}
return false;
}

Jpa-操作mongodb的更多相关文章

  1. 第12章—使用NoSQL数据库—使用MongoDB+Jpa操作数据库

    使用MongoDB+Jpa操作数据库 SpringData还提供了对多种NoSQL数据库的支持,包括MongoDB;neo4j和redis.他不仅支持自动化的repository,还支持基于模板的数据 ...

  2. java操作mongodb & springboot整合mongodb

    简单的研究原生API操作MongoDB以及封装的工具类操作,最后也会研究整合spring之后作为dao层的完整的操作. 1.原生的API操作 pom.xml <!-- https://mvnre ...

  3. mongoose - 让node.js高效操作mongodb

    Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. ...

  4. 【MongoDB for Java】Java操作MongoDB

    上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...

  5. PHP操作MongoDB学习笔记

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

  6. PHP操作Mongodb之增删改查篇

    之前,我讲解过PHP中mongodb扩展的安装,及启动,链接操作[忘记了?去看看吧!PHP操作Mongodb之一].本文主要就是讲在PHP中Mongodb的增加,查询,修改及删除数据的操作. 1.增加 ...

  7. PHP操作Mongodb之高级查询篇

    本文主要讲解PHP中Mongodb的除了增删改查的一些其他操作. 在PHP操作Mongodb之增删改查篇中我们介绍了PHP中Mongodb的增加.删除.修改及查询数据的操作.本文主要是将查询时用到的高 ...

  8. php操作mongodb中的ISODate格式日期

    mongodb 中数据记录的日期格式为"dateCreated" : ISODate("2011-12-20T07:22:50.836Z")经过翻阅php官网中 ...

  9. nodejs操作mongodb

    一.下载地址 https://www.mongodb.com/download-center#community 二.控制台操作mongodb 1.安装完后添加环境变量. 2.在某个根目录下新建dat ...

  10. nodejs操作mongodb数据库封装DB类

    这个DB类也算是我经历了3个实际项目应用的,现分享出来,有需要的请借鉴批评. 上面的注释都挺详细的,我使用到了nodejs的插件mongoose,用mongoose操作mongodb其实蛮方便的. 关 ...

随机推荐

  1. ESP32 ADF windows开发环境搭建 适配ADF到ESP32A1S(转)

    搭建ESP32A1S的ADF开发环境 一,获取IDF和IDF-TOOL adf是乐鑫的音频开发框架,里面有许多乐鑫的音频开发API,同时ADF是基于IDF的.这一部分可以按照官网的教程一步一步来.官网 ...

  2. Kong的API管理方式

    目录 Kong 的管理方式 1. kong的关键术语 Service: Route: Upstream: Target: API: Consumer: Plugin: 2. 如何通过配置KONG AP ...

  3. C控制台程序 GUI程序

    控制台程序对应的工程类型为"Win32控制台程序(Win32 Console Application)",GUI 程序对应的工程类型为"Win32程序(Win32 App ...

  4. Java基础00-修饰符18

    1. 包 1.1 包的概述和使用 通过记事本的方法 package com.itheima;public class HelloWorld { public static void main(Stri ...

  5. deepin安装Motrix,cocomusic

    1,motrix(下载工具):https://motrix.app/ 2,cocomusic(开源音乐播放器):https://github.com/xtuJSer/CoCoMusic/release ...

  6. 转载:使用jquery刷新当前页面以及其他js知识积累

    转载:https://www.cnblogs.com/heguihui/p/10505949.html 如何使用jquery刷新当前页面 下面介绍全页面刷新方法:有时候可能会用到 window.loc ...

  7. Requests方法 -- 关联用例执行

    1.参照此篇流程 :Requsts方法 -- Blog流程类进行关联 2.用例接口目录如下: 3.用例代码如下: import requestsimport unittestfrom Request. ...

  8. 5Java基础整理

    1.API:Application programming interface 举例:System类中的 public static void arraycopy(int[] src,int srcP ...

  9. 微信小程序云开发-数据库-更新数据

    一.js文件代码使用.update更新数据 写一个更新数据的函数,函数内使用.update更新数据.一定要通过.doc指定修改哪一条数据.  二.wxml文件修改数据的按钮 在wxml文件中写[修改] ...

  10. Windows环境安装kafka

    前言 注意事项: 需要有jdk,jdk8以上.配置好环境变量. 参看链接:https://blog.csdn.net/weixin_38004638/article/details/91893910 ...