java使用mongoDB和freemarker的注意事项

mongoDB和关系型数据库的区别最大的好处就在于表结构的不对称、弱事务,mongoDB牺牲了事务来换取更快的访问速度,有人说mongoDB对于内存太贪婪了,其实也不见得,以windows版为例它会默认开启100万个可用连接数,抢不抢内存要经过实践才能知道,以6核cpu为例mongoDB对内存的使用基本排不上号。虽然如此在驱动的提供这块mongoDB的驱动差异很大。如2.10版本的驱动连接数据库还可以使用Mongo但是后面的驱动却没有了Mongo,取而代之的则是MongoClient。mongoDB虽然和关系数据库虽然有差异但是对资源的处理都是一样的,下面分享一下我开发过程中遇到的问题。

1   使用freemarker显示json数据的注意事项

struts2是很多公司的首选,但是使用struts2也存在很多限制,例如不能遍历json.即使使用velocity也拿json数据没辙。唯一的选择也只有freemarker,可是使用freemarker也有一点弊端那就是单mongoDB里面的数据如果是NULL类型,页面就会报错,针对这个情况唯一的解决办法就是添加数据的时候进行数据有效性的校验

2  jsp使用freemarker的注意事项

jsp功能虽然强大,但是不支持freemarker,在jsp里也不能使用freemarker的标签,有时把jsp全部替换为ftl也不现实,针对这种情况就只能是把freemarker的tld引入进来在页面上就使用<fm:template></fm:template>把freemarker的代码包裹起来

3 freemarker使用struts标签的注意事项

freemarker也不能直接支持struts标签,但是针对这种情况网上也提供了解决方法,如有需要可以直接百度

4 mongoDB注意事项

使用程序和mongoDB交互的时候很多网友给的建议真的可以说是误人子弟,例如“使用mongoDB后可以不关闭数据库连接”这种说法真的是大错特错,虽然没见过windows版的mongoDB连接数被用完会成什么样,但是linux版本的如果连接数用完了,数据库就会挂掉,这种问题就特别严重了,数据丢了不说还会造成很大的经济损失。java程序建议的做法是先写一个获取连接和关闭连接的工具类,之后写一个接口并声明常用方法,之后写实现类和代理操作类。连接的创建、关闭由代理操作类来完成,之后写一个工厂操作类进行统一的方法调用,这里还给喜欢使用spring的程序员一个建议就是:不要把mongoDB和spring整合,这样做真的没有太多好处。

时间: 2024-10-14 14:32:17

java使用mongoDB和freemarker的注意事项的相关文章

java 对mongodb的操作

java 对mongodb的操作 1.1连单台mongodb Mongo mg = newMongo();//默认连本机127.0.0.1  端口为27017 Mongo mg = newMongo(ip);//可以指定ip 端口默认为27017 Mongo mg = newMongo(ip,port);//也可以指定ip及端口号 1.2连双台mongodb //ip为主机ip地址,port为端口号,dataBaseName相当于数据库名 DBAddress left = new DBAddre

java操作mongoDB实现CURD

java操作mongoDB mongoDB作为一个牛气哄哄的nosql内存数据库,的确有很多优点,对于大数据量.高并发.弱事务的互联网应用,MongoDB可以应对自如.接触到mongoDB 参考了下api实现了增删改查.mongoDB 是面向对象设计,不用写sql语句 直接操作api 方法 就可以实现,这会儿数据库语句写不好的娃娃们有福了.直接贴码: DataTest.java package com.zk.db; import java.net.UnknownHostException; im

java工程中使用freemarker例子

新建java project,引入freemarker.jar, 本工程是用的版本:freemarker-2.3.20 版本 java工程目录如下: test.ftl文件 HTML代码 1 name : ${name} 2 age : ${age} Java代码 1 package com.freemarker; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.io.OutputStreamWriter;

java多线程的常用方法(以及注意事项)

1 /* 2 * 线程的常用方法 3 * 1.start(); 4 * 2.run(); 5 * 3.sleep(int millsecond); 6 * 4.isAlive(); -->判断线程是否还在运行 7 * 5.currentThread(); -->返回当前正在使用CPU资源的线程 8 * 6.interrupt(); -->激活休眠的线程 9 * */ 但是需要注意的一个小点是: 1 /* 2 * 需要注意到地方:一个已经运行的线程在没有进入死亡状态时, 3 * 不要在给线

使用Java操作MongoDB

该篇比较简单,仅介绍Java操作MongoDB的简单CRUD案例,开搞前需要引入mongo-java-driver-3.2.2.jar,Java操作MongoDB的API众多,高级功能还需查询官方文档. public void insert() { // 建立数据库连接 Mongo mongo = new Mongo("localhost", 27017); // 获取指定的数据库 DB db = mongo.getDB("kaiye"); // 获取指定的集合 D

Java操作MongoDB

先引入mongo-java-dirver驱动 <!-- mongo-java-dirver --> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.4.2</version> </dependency> 代码操作演示: package com.simpl

java连接mongodb源码解读

用mongdb也大半年了,一直是业务上的逻辑实现了就ok.然而这样并不能进步--因此今天查了查java连接mongodb驱动的源码,搜到的各种信息整合一下,方便以后深入的使用. 先贴连接数据库代码  List<ServerAddress> replicaSet = new          ArrayList<ServerAddress>();          replicaSet.add(new ServerAddress("127.0.0.1", 2701

深入浅出MongoDB(六)java操作mongodb增删改查

java操作mysql数据库的代码我们已经了如指掌了,增删改查,java对mongodb数据库也是类似的操作,先是数据库连接,再是进行操作. 首先我们进入进入admin数据库,然后建立自己的数据库testMongoDb,进入admin数据库后,就可以直接进入testMongoDb,因为用户可以进入系统的数据库,就是超级管理员,use testMongoDb后,为该数据库设置用户名和密码,db.addUser('root','root'),这样我们在程序中连该数据库,并实现增删改查,代码如下所示.

【MongoDB for Java】Java操作MongoDB

开发环境: System:Windows IDE:eclipse.MyEclipse 8 Database:mongoDB 开发依赖库: JavaEE5.mongo-2.5.3.jar.junit-4.8.2.jar 一.准备工作 1. 首先,下载mongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads mongoDB对Java的相关支持.技术:http://www.mongodb.org/