当前位置: 首页 > news >正文

网站建设设计指标免费的网络推广

网站建设设计指标,免费的网络推广,php+ajax网站开发典型实例 pdf,网站性能最近#xff0c;我被NoSQL错误咬住了-或是我的同事Mark Atwell提出的“燃烧在哪里#xff01;” 运动。 尽管我无意于在不久的将来或可预见的将来回避友好的“ SELECT ... WHERE”#xff0c;但我确实设法弄懂了一些代码。 在本文中#xff0c;我分享了我在NoSQL世界中首次… 最近我被NoSQL错误咬住了-或是我的同事Mark Atwell提出的“燃烧在哪里” 运动。 尽管我无意于在不久的将来或可预见的将来回避友好的“ SELECT ... WHERE”但我确实设法弄懂了一些代码。 在本文中我分享了我在NoSQL世界中首次尝试的知识。 在本文中我们的目标是启动并运行能够与MongoDB进行交互的基本Java应用程序。 就其本身而言这并不是一项艰巨的任务也许您可​​以在10分钟内完成。 单击此处或单击此处或单击此处 以获得一些出色的材料。 但是我想进一步推动它。 我想添加ORM支持。 我已为本文选择了Morphia 。 我还想添加DAO模式单元测试和日志记录。 简而言之我想感觉到“几乎就像”我们大多数人使用JavaHibernate和Oracle为企业应用程序编写的那种代码。 并且我们将尝试在30分钟内完成所有这些操作。 我的意图是让Java RDBMS开发人员放心Java NoSQL并不是很陌生。 这是相似的代码易于尝试。 在这一点上可能需要补充一点即我与NoSQL没有亲和力RDBMS也没有问题。 我相信它们都有自己的用途 单击此处以获取一些出色的材料。 作为技术专家我只是喜欢更好地了解自己的工具以便为自己的职业伸张正义。 本文仅旨在帮助志趣相投的人们在NoSQL中投入脚步。 好的足够说话了。 让我们开始吧。 在遵循本文之前您将需要一些软件/工具。 下载并安装 MongoDB服务器如果尚未安装 。 我假设您有Java一些Java IDE以及构建和发布工具。 我在本文中使用jdk 7EclipseSTS和Maven 3。 我首先使用Maven创建一个香草标准Java应用程序。 我喜欢为此使用批处理文件。 文件codeRepo \ MavenCommands.bat ECHO OFFREM REM Set the env. variables. REM SET PATH%PATH%;C:\ProgramFiles\apache-maven-3.0.3\bin; SET JAVA_HOMEC:\ProgramFiles\Java\jdk1.7.0REM REM Create a simple java application. REM call mvn archetype:create ^-DarchetypeGroupIdorg.apache.maven.archetypes ^-DgroupIdorg.academy ^-DartifactIddbLayer002pause 将其导入Eclipse。 确保可以使用Maven进行编译和运行。 mvn -e clean install. 这应该编译代码并运行默认测试。 一旦克服了这一障碍现在让我们开始一些编码。 让我们创建一个Entity对象作为开始。 我认为使用fname的Person类可以达到我们的目的。 我承认这很简单但是可以完成教程。 文件/dbLayer002/src/main/java/org/academy/entity/Person.java package org.academy.entity;public class Person {private String fname;[...] } 为了简洁起见我没有提到吸气剂和吸气剂。 现在让我们获取MongoDB Java驱动程序并将其附加到应用程序。 我喜欢让Maven为我做这件事。 您显然也可以手动执行此操作。 你的选择。 我很懒。 文件/dbLayer002/pom.xml [...] !-- MongDB java driver to hook up to MongoDB server -- dependencygroupIdorg.mongodb/groupIdartifactIdmongo-java-driver/artifactIdversion2.7.3/version /dependency [...] 这将使我们能够编写一个util类来连接到MongoDB服务器实例。 我假设您已经使用默认设置在服务器中启动并运行了服务器。 文件/dbLayer002/src/main/java/org/academy/util/MongoUtil.java public class MongoUtil {private final static Logger logger LoggerFactory.getLogger(MongoUtil.class);private static final int port 27017;private static final String host localhost;private static Mongo mongo null;public static Mongo getMongo() {if (mongo null) {try {mongo new Mongo(host, port);logger.debug(New Mongo created with [ host ] and [ port ]);} catch (UnknownHostException | MongoException e) {logger.error(e.getMessage());}}return mongo;} } 我们需要在我们的应用程序中设置记录器以便此类编译。 单击此处获取有关日志记录的文章。 我们需要做的就是用正确的依赖关系连接Maven。 文件/dbLayer002/pom.xml [...] slf4j.version1.6.1/slf4j.version [...] !-- Logging -- dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion${slf4j.version}/version /dependency dependencygroupIdorg.slf4j/groupIdartifactIdjcl-over-slf4j/artifactIdversion${slf4j.version}/versionscoperuntime/scope /dependency dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactIdversion${slf4j.version}/versionscoperuntime/scope /dependency 而且我们将需要确切指定要记录的内容。 文件/dbLayer002/src/java/resources/log4j.properties # Set root logger level to DEBUG and its only appender to A1. log4j.rootLoggerDEBUG, A1# configure A1 to spit out data in console log4j.appender.A1org.apache.log4j.ConsoleAppender log4j.appender.A1.layoutorg.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern%d [%t] %-5p %c - %m%n 至此您已经具有一个Entity类和一个实用程序类来连接数据库。 理想情况下我将去编写DAO然后以某种方式使用ORM将DAO与数据库连接起来。 但是Morphia具有一些出色的DAO支持。 它还具有一些注释可以将实体与数据库元素绑定在一起。 因此尽管我希望Entity和DAO完全不了解ORM和数据库但在这里情况并非如此。 我从表面上知道这听起来像Morphia或MongoDB迫使我偏离良好的代码结构让我赶紧补充一点这并不比其他ORM差例如带有注释的Hibernate也会迫使我做同样的妥协。 因此让我们在图片中引入Morphia。 进入阶段我们永远有用的工具Maven。 这里有点可避免的障碍。 在编写此文档时无法在中央Maven存储库中获得所需的Morphia版本。 因此我必须将Maven配置为也使用Morphia存储库。 希望这只是暂时的情况。 文件/dbLayer002/pom.xml [...] !-- Required for Morphia -- repositoriesrepositoryidMorphia repository/idurlhttp://morphia.googlecode.com/svn/mavenrepo//url/repository /repositories [...] !-- Morphia - ORM for MongoDB -- dependencygroupIdcom.google.code.morphia/groupIdartifactIdmorphia/artifactIdversion0.98/version /dependency 如前所述Morphia允许我们注释Entity类非常类似于Hibernate注释。 因此这是更新后的Entity类的外观。 文件/dbLayer002/src/main/java/org/academy/entity/Person.java [...] Entity public class Person {Id private ObjectId id;[...] 现在我们还可以添加一个DAO层并依靠Morphia提供的BasicDAO。 文件/dbLayer002/src/main/java/org/academy/dao/PersonDAO.java public class PersonDAO extends BasicDAOPerson, ObjectId {public PersonDAO(Mongo mongo, Morphia morphia, String dbName) {super(mongo, morphia, dbName);}[...] BasicDAO的优点在于尽管我刚刚添加了一个构造函数但通过扩展它我自己的DAO类已经具有足够的功能来执行基本的CRUD操作。 不相信吗 好吧让我们为此做一个测试。 文件/dbLayer002/src/test/java/org/academy/dao/PersonDAOTest.java public class PersonDAOTest {private final static Logger logger LoggerFactory.getLogger(PersonDAOTest.class);private Mongo mongo;private Morphia morphia;private PersonDAO personDao;private final String dbname peopledb;Beforepublic void initiate() {mongo MongoUtil.getMongo();morphia new Morphia();morphia.map(Person.class);personDao new PersonDAO(mongo, morphia, dbname);}Testpublic void test() {long counter personDao.count();logger.debug(The count is [ counter ]);Person p new Person();p.setFname(Partha);personDao.save(p);long newCounter personDao.count();logger.debug(The new count is [ newCounter ]);assertTrue((counter 1) newCounter);[...] 您可能已经注意到了。 我已经使用过JUnit4。如果您一直在关注此文章那么您的项目中将拥有JUnit的早期版本。 为了确保使用JUnit 4只需通过在pom.xml中添加正确的依赖关系来配置Maven以使用它。 文件/dbLayer002/pom.xml !-- Unit test. -- dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.10/versionscopetest/scope /dependency 你已准备好出发。 如果您运行测试则它们应该通过。 当然您可以/应该进入数据库并检查数据是否确实已保存。 我将向您推荐我认为相当不错的MongoDB文档 。 最后但并非最不重要的一点让我向您保证BasicDAO在任何方面都不是限制性的。 我敢肯定清教徒会指出如果我的DAO类需要扩展BasicDAO那无论如何还是对源代码结构的限制。 理想情况下不需要。 我同意这一点。 但是我也想表明对于DAO的所有实际目的您都具有足够的灵活性。 让我们继续向我们的DAO添加一个自定义的find方法该方法特定于该Entity即Person。 假设我们希望能够基于名字进行搜索并且我们希望为此使用正则表达式。 这是代码的样子。 文件/dbLayer002/src/main/java/org/academy/dao/PersonDAO.java public class PersonDAO extends BasicDAOPerson, ObjectId {[...]public IteratorPerson findByFname(String fname){Pattern regExp Pattern.compile(fname .*, Pattern.CASE_INSENSITIVE);return ds.find(entityClazz).filter(fname, regExp).iterator();}[...] } 在这里需要再次强调的是我刚刚在DAO中添加了一个自定义搜索功能方法是精确添加三行代码如果添加最后一个括号则为四行。 在我的书中这很灵活。 忠实于我对自动化测试的坚定信念因此在我们总结之前请添加一个快速测试以检查此功能。 文件/dbLayer002/src/test/java/org/academy/dao/PersonDAOTest.java [...] IteratorPerson iteratorPerson personDao.findByFname(Pa); int personCounter 0 ; while(iteratorPerson.hasNext()){personCounter ;logger.debug([personCounter] iteratorPerson.next().getFname()); } [...] 在指出之前是的这里没有assert所以这不是真正的测试。 让我向您保证我的测试课程确实已经完成。 只是这里的代码片段没有assert函数。 就是这样了。 您已经使用Java通过ORA通过DAO层连接到NoSQL数据库在这里您已使用ORM的功能并做了一些添加。 您还完成了正确的日志记录和单元测试。 半个小时可以用不是吗 快乐的编码。 进一步阅读 也可以通过Javalobby的此链接获得本文的一个版本-稍作编辑。 参考 在我们的JCG合作伙伴 Partho的30分钟内从Tech for Enterprise博客获得了MongoDB 。 翻译自: https://www.javacodegeeks.com/2012/07/mongodb-in-30-minutes.html
http://www.zqtcl.cn/news/855144/

相关文章:

  • 网络营销优化培训网站seo置顶 乐云践新专家
  • 小说网站搭建教程wordpress后台图片
  • 付网站开发费计入什么科目网站开发的历史
  • 站长素材ppt模板免费下载网站开发视频教程迅雷下载
  • 建设一个网站怎么赚钱南京江北新区房价走势最新消息
  • 一个网站怎么做软件下载互联网投放渠道有哪些
  • 手机网站建设进度环境设计排版素材网站
  • 网站开发众筹地推网推平台
  • 长沙互联网网站建设wordpress标签id在哪里修改
  • 企业网站的建设 摘要大连网站设计策划
  • 做房地产一级市场的看什么网站网络营销外包推广方式
  • 网站建设基本流程包括哪几个步骤网站建设策划书网站发布与推广
  • 徐州整站优化手机网页端
  • 深圳中瑞建设集团官方网站宁波seo快速优化教程
  • 福田网站制作哪家好昆山企业网站建设公司
  • wordpress快六安网站自然排名优化价格
  • 网站的线下推广怎么做的系统官网网站模板下载安装
  • 北京网站优化推广公司企业网站建设费怎么核算
  • 网站建设vps个人如何做网站推广
  • 小语种网站怎么设计网页制作公司 大连
  • 贵港市城乡住房建设厅网站菜鸟教程网站
  • 广州网站建设找哪家免费搭建网站的软件
  • 培训班管理系统 免费太原优化网站排名
  • 上海怎么做网站网站让图片充满屏幕怎么做
  • 哈尔滨营销网站建设wordpress 加载图片不显示
  • 电商网站功能结构图网站做中秋专题怎么弄
  • 深圳专业建站平台陕西省建设工程质量安全监督总站网站
  • 制作网页的网站的软件是用户反馈数据分析软件园
  • 南京 做网站seo查询网站
  • 卖高仿名牌手表网站共享wifi小程序搭建