zoukankan      html  css  js  c++  java
  • mongodb java spring data

    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数据库,客户要求完成一个bs版本的对应程序。
      2. bs版本采用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:没有代码,欢迎交流,有砖轻拍。

  • 相关阅读:
    if 语句练习 身高体重问题
    阶乘
    if语句和switch语句
    Java 运算符
    Centos上把新安装的程序添加到系统环境变量的两种方法
    申请 Let’s Encrypt 泛域名证书 及 Nginx/Apache 证书配置
    Centos 6.5安装OpenSSL
    openssl version 查看openssl 版本出现openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory,怎么办
    ab压力测试遭遇apr_socket_recv: Connection reset by peer (104) 怎么办
    配置apache实现对网站某一目录的访问自动跳转到指定目录
  • 原文地址:https://www.cnblogs.com/lzxianren/p/4159228.html
Copyright © 2011-2022 走看看