1. 关于如何集成spring-data-mongodb到项目中,已经有很多人介绍了,这里只给出几个链接。
    1. GETTING STARTED Accessing Data with MongoDB: http://spring.io/guides/gs/accessing-data-mongodb/
    2. MongoDB初探(二)----使用spring-data配置mongodb :http://yangjizhong.iteye.com/blog/1206901
    3. spring与mongodb使用教程之整合的三种方式: http://my.oschina.net/yilian/blog/175525
  2. 项目背景
    1. 开始用C#完成项目,采用mongodb数据库,客户要求完成一个b\s版本的对应程序。
    2. b\s版本采用java语言,数据库底层需要完成对mongodb的CRUD操作。
    3. 调研了下,最后决定还是用spring data mongodb来完成这个任务,具体的开发配置不做赘述。
  3. 遇到问题

  熟悉C#的人都知道,C#都是用属性生成对象的特征,而属性一般首字母是大写的,那就意味着如果不作处理,C#这边的程序如果存到mongodb里面的话将会是首字母大写的。同平台,同语言就不会有接下来的问题了。java的bean写法一般都是getter setter,然后一个私有的字段,当然字段首字母要小写!so 存到mongo里面就会是首字母小写。所以问题就来了,已经有库是大写,那么java这边读数据就读不回来了,读到的都是null。万般无奈,只好改做大写,问题解决。

  但是第二个问题又来了,在查询时,条件key是string,omg,大牛们的convert自动转为小写了,然后就异常了(找不到属性)。好吧,我只能再找另一种方案,@Filed,就是他了。

  第三个问题,java不建库直接存mongo,多了一个字段_class,里面存的值是这个document的类型,但我真不需要这个东西,如果多了这个东西,我C#的程序又该报错了。幸好有google,http://www.mkyong.com/mongodb/spring-data-mongodb-remove-_class-column/。

总结:

  1. spring是个好东西,spring data也是大树底下好乘凉,so还是多学学spring-data吧。
  2. 大牛们造轮子的速度,是远超过我等用轮子的速度,每个框架都有各自的应用场景,尽量选合适的技术。
  3. 跨语言确实是个问题,最好提前设计好这些问题。
  4. maven做项目引用管理还是要比nuget好用。
  5. 没有lamda的日子只能多敲代码了,坐等项目升级java 8.。
  6. mongodb的驱动封装千千万,抽空挨个试下吧。

PS:没有代码,欢迎交流,有砖轻拍。

mongodb java spring data的更多相关文章

  1. MongoDB学习-->Spring Data Mongodb-->MongodbTemplate

    配置文件application-dev.yml: server: port: 8888 mongo: host: localhost port: 27017 timeout: 60000 db: ma ...

  2. MongoDB学习-->Spring Data Mongodb框架之Repository

    application-dev.yml server: port: 8888 mongo: host: localhost port: 27017 timeout: 60000 db: mamabik ...

  3. mongodb Decimal Spring data mongodb Decimal128 SpringMvc 序列化字符串 json converter

    Mongodb 3.4 就开始支持Decimal 类型,解决double的精度问题,但是不太好用,MapReduce的时候Array.sum 也不能计算 Decimal.比较坑,但是聚合可以用 Spr ...

  4. elasticSearch Java Spring Data Api

    1. BoolQueryBuilder qb=QueryBuilders. boolQuery(); qb.should(QueryBuilders.matchQuery("keyWord& ...

  5. Introduction to Spring Data MongoDB

    Introduction to Spring Data MongoDB I just announced the new Spring 5 modules in REST With Spring: & ...

  6. Spring Data Commons 官方文档学习

    Spring Data Commons 官方文档学习   -by LarryZeal Version 1.12.6.Release, 2017-07-27 为知笔记版本在这里,带格式. Table o ...

  7. SpringBoot第九篇:整合Spring Data JPA

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10910059.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言   前面几章, ...

  8. 初入spring boot(八 )Spring Data REST

    1. 什么是Spring Data REST Spring Data JPA是基于Spring Data 的Repository之上,可以将Repository自动输出为REST资源.目前Spring ...

  9. 简化RESTful开发,Spring Data REST让你少掉发

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! 前言 Springboot + Spring MVC大大简化了Web应用的RESTful开发,而Spring Data RE ...

随机推荐

  1. nio 弊端

    java-nio在Android上使用的种种弊端 August 12, 2013programming 我们知道,手机上的网络一般会比较慢(使用wifi除外),用户非常不希望自己在使用手机时被考验耐心 ...

  2. 数据存储--沙盒sandBox

    默认情况下,每个沙盒必含有3个文件夹:Documents, Library 和 tmp 一.沙盒(sandbox)出于安全的目的,应用程序只能将自己的数据和偏好设置写入到几个特定的位置上.当应用程序被 ...

  3. 试图删除 xx 和yy之间的关系。但是,关系的其中一个外键 (xx_yy.xxID) 无法设置为 null。

    错误原因:试图删除 UserInfoGroup 和 UserInfoGroupLinkLimitsOfAuthority 之间的关系.但是,关系的其中一个外键 (UserInfoGroupLinkLi ...

  4. java继承的构造函数

    1.在构造函数的继承中,子类不能继承父类的构造函数.但是子类却可以用super()或super(参数)使用父类的构造函数, <1>无参的构造函数: //父类 public class An ...

  5. Java 第16章 封装

    封装(encapsulation)     类使得数据和对数据的操作集成在一起,从而对使用该类的其他人来说,可以不管它的实现方法,而只管用它的功能,从而实现所谓的信息隐藏. 封装 , 使用类图描述类 ...

  6. Java 反射工具类封装

    封装了常用的反射相关方法 public class ReflectUtil { /** * 通过类路径获取Class * * @author LHY <br> * Description ...

  7. Win7下安装一个装逼文本编辑器Atom + activate-power-mode插件

    Atom是Github推出的一个文本编辑器,搜索一下大概是给Web前端用的,最近比较火的是他的一个插件activate-power-mode,可以实现打字屏振效果. 用来装装逼还是挺适合的,本来想试试 ...

  8. 【OSG学习笔记之一:】OSG+VS2010+win7 64位环境搭建

    虽然出生的时候,没有说过“Hello World!”,但是自从走上了编程之路,每一次输出“Hello World!”的时候,都觉得好比中了彩票大奖似的: 仔细算算,从2012年暑假到现在,经历了3年半 ...

  9. CAD2012安装错误

    安装CAD2012总是会出现各种错误,不能安装,特别是.NET Framework Runtime 4.0安装错误. 单独安装dotNetFx40_Full_x86_x64.exe会提示更高级的版本已 ...

  10. Python排列组合问题

    1.字符串的全排列 问题描述:打印出原字符串中所有字符的所有排列.——将输入字符串中的每个字符作为一个不同的字符看待,即使它们是重复的,如'aaa'应打印6次. Python可以用生成器解决: def ...