我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 项目源码 > Spring4 整合MongoDB详细讲解项目源码
总共48086条微博

动态微博

查看: 3776|回复: 3

Spring4 整合MongoDB详细讲解项目源码

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2015-03-10 20:24:53 |只看该作者 |倒序浏览
    spring4 整合MongoDB详细讲解项目源码
    ! v" \6 u: F2 j- i, l2 L! D) xMongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。# |! D0 \# Y% v& j

    1 q  S( Y& s5 C8 s( `NoSQL数据库与传统的关系型数据库相比,它具有操作简单、完全免费、源码公开、随时下载等特点,并可以用于各种商业目的。这使NoSQL产品广泛应用于各种大型门户网站和专业网站,大大降低了运营成本。
    : K7 N0 g1 @" E1 S; K1 }
    1 m& l% v7 r8 c* J+ A$ q, iMongo DB 数据库自行搭建、也可以暂用地址见mongo-config.xml配置 可以进行增删查改。
    2 H5 l1 C# u+ o8 s2 i: T- F( M' o& i! N8 m
    环境配置: myeclipse 8.6  、mongodb 3.0  、spring 4.0.6
    " t) X8 @9 l& r+ J: O7 z5 r- W5 U  ?. h
    2 v3 U' V, ]0 Q) m+ }
    项目采用springmvc 结构。! P' g) ~) ]1 f" d. d
    所需JAR包:
    9 C) |9 N2 G! z1 p- s& p
    3 t8 E  ?/ j5 C; N; {9 _0 I- N/ c$ q: j1 l/ y' d

    2 `% a( g% N0 lapplicationContext.xml配置:
    ! w, e4 @; H! z5 m: a! Y$ w' B/ ]
    1. <?xml version="1.0" encoding="UTF-8"?>  
      - O' ]+ v- m5 T
    2. <beans xmlns="http://www.springframework.org/schema/beans"  
      , o# Z' m2 t7 ?
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
      * D/ x: A4 G- ]7 a2 w" M/ I" q  h& u7 d
    4.     xmlns:p="http://www.springframework.org/schema/p"  
      8 m  k$ m* G: K* y0 Y9 s* A
    5.     xmlns:context="http://www.springframework.org/schema/context"  
      5 l) ^9 v* j9 `6 k+ M
    6.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
      ) q# @3 Z! N( ]7 K1 x! }& Q3 T
    7.     xsi:schemaLocation="http://www.springframework.org/schema/mvc   
      : x4 x2 c, ~8 \2 ?0 b5 `0 @: O6 l
    8.         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd  
      - Y3 Q4 x2 ~' Q
    9.         http://www.springframework.org/schema/beans
      " ?# K* ?( T: D: h/ t( F  ^
    10.         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    v; n: z; C! n4 H2 d
    11.         http://www.springframework.org/schema/context 8 Z7 \5 V9 d9 O! _* m1 C
    12.         http://www.springframework.org/schema/context/spring-context-3.0.xsd">
      # H! M& X/ R" B7 i9 p# b! c" C
    13.      <context:component-scan base-package="com.mongodb.service" />
      3 \/ D/ w# |2 A- ^) {( Z) j
    14.      <import resource="mongo-config.xml"/>
      4 G1 M4 ^' h- m: g# \
    15. </beans>
    复制代码
    mongo-config.xml配置:
    - i% N) b9 u0 \4 ~4 M
    1. <?xml version="1.0" encoding="UTF-8"?>  
      5 U2 C  H+ ^+ @7 T% \* t8 u
    2. <beans xmlns="http://www.springframework.org/schema/beans"  
      $ A+ A6 |+ X% r7 `
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   ) d8 l2 a! y" W, v0 T, m
    4.     xmlns:p="http://www.springframework.org/schema/p"   ! W- E' s& D& \0 Z
    5.     xmlns:mongo="http://www.springframework.org/schema/data/mongo"  
      * F6 [+ A1 J' g/ N. a' U
    6.     xsi:schemaLocation="http://www.springframework.org/schema/beans     N4 z- y; g4 @, v
    7.             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
      , \& ^  N: E7 }/ `; {3 D; ?
    8.             http://www.springframework.org/schema/data/mongo  & g& j, @1 f+ Z1 H* A
    9.             http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
        o# B' ^8 n! I, K# m  C3 N  k9 G. L: l
    10.             http://www.springframework.org/schema/data/repository
      6 H7 q5 d/ W) ?$ l7 ~
    11.             http://www.springframework.org/schema/data/repository/spring-repository-1.5.xsd">        ; X0 y: ~  m/ U0 c
    12.    9 O7 P9 ~- ?9 s4 Y, ]1 M7 T
    13.     <mongo:mongo host="121.42.26.72" port="12345"/>  - x4 ?4 {; L3 P, F1 Z
    14.       ; \9 F9 D4 a  v4 p8 D
    15.     <!-- Offers convenience methods and automatic mapping between MongoDB JSON documents and your domain classes. -->  1 q5 }! }# {( W- l- t6 f
    16.     <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">  & K7 C2 A4 c$ |5 l( S6 f% |3 O9 A
    17.             <constructor-arg ref="mongo"/>  
      + z: f1 I* x5 u" F/ r: `
    18.             <constructor-arg name="databaseName" value="itstyle"/>  
      ) F6 ~7 T9 c6 `
    19.     </bean>  
      6 V+ f: J. h, {1 M+ q
    20.       
      3 `+ C7 L+ D3 [/ k+ ^
    21. </beans>
    复制代码
    # L# r/ P7 M( I& j+ T/ c; G5 I
    spring-servlet.xml配置:
    - h& |9 [2 g. W0 C/ T8 P" @, \5 G3 ~3 h. w# B4 ]9 |, |
    1. <?xml version="1.0" encoding="UTF-8"?>  
      6 `) j3 |9 c  o4 Q/ Q
    2. <beans xmlns="http://www.springframework.org/schema/beans"  5 c$ Y7 t7 ]5 r/ l+ w; k
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   ) I6 ^# L' l& ]! G- g- e" _9 ?
    4.     xmlns:p="http://www.springframework.org/schema/p"  ( H, x5 e1 }& z( {  C( a0 I7 r
    5.     xmlns:mvc="http://www.springframework.org/schema/mvc" ; J1 N: R, D* P; P; x
    6.     xmlns:context="http://www.springframework.org/schema/context"  
      - }& f* J" W) W0 _" Z
    7.     xmlns:mongo="http://www.springframework.org/schema/data/mongo"  6 V3 R8 E% ]" I7 {
    8.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
      : M% Z% G( z/ U1 T2 z! ^
    9.             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 8 k3 N  W1 C# p3 s
    10.             http://www.springframework.org/schema/context - k' L! q  |9 q* w$ a4 m5 X
    11.             http://www.springframework.org/schema/context/spring-context-3.0.xsd & X$ R5 g7 f) [; d- U8 J" E
    12.             http://www.springframework.org/schema/data/mongo  
      " q* s; w+ i' G- q/ n
    13.             http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
      , j1 t2 `2 t) B7 S7 ^
    14.             http://www.springframework.org/schema/mvc        $ W2 M5 F, M3 J
    15.             http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">; O& H8 M( B5 c, O1 }
    16.         
      ' a+ h$ P6 v4 q6 y- s( C
    17.     <!-- Scans the classpath for annotated components that will be auto-registered as Spring beans.For example @Controller and @Service . Make sure to set the correct base-package-->  9 ~" \. ^8 l  N8 G
    18.     <context:component-scan base-package="com.mongodb.controller" />   ' B& [7 w7 \4 |5 j! A! I$ |
    19.       # \7 A0 A, w: a9 N
    20.     <!-- Configures the annotation-driven Spring MVC Controller programming model.Note that, with Spring 3.0, this tag works in Servlet MVC only!  -->  
      , ?- v0 e& W5 G7 l* [& O6 f9 S
    21.     <mvc:annotation-driven />   9 P% }. X1 X+ ~* Z1 i
    22.     ; `: R. K5 R" n
    23.     <!-- Declare a view resolver -->  
      $ x/ Y: j- X* S. ^4 Q
    24.     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"   6 ]4 F8 y$ E( D5 A
    25.             p:prefix="/users/" p:suffix=".jsp" />  ! C2 C: t0 C! x7 R1 A+ I; k+ p
    26.             
      % n" X1 m6 s& \$ n  Z. w
    27.    ! r5 S) k3 e% t* u) ^
    28. </beans>
    复制代码
    UserServiceImpl 基本实现代码:
    1. package com.mongodb.service;
      4 V# H- d6 x  z. Z8 Q
    2. import java.util.List;
      7 B1 `2 Q* k! H2 k7 [
    3. import org.springframework.beans.factory.annotation.Autowired;0 `9 r" P: Q7 f9 ], M8 b5 H
    4. import org.springframework.data.mongodb.core.MongoOperations;
      & t. j5 }  U7 x
    5. import org.springframework.data.mongodb.core.query.Criteria;. O2 L' V- a* y  E) ~
    6. import org.springframework.data.mongodb.core.query.Query;6 L- O1 b  D6 J( e. Q
    7. import org.springframework.data.mongodb.core.query.Update;" E! ]# O- q( o1 I" L7 y
    8. import org.springframework.stereotype.Service;
      0 T4 ]2 H1 C1 N- \* n* s
    9. import com.mongodb.domain.Users;
      5 e- r* A! w8 c- q2 W
    10. @Service(value = "userService")   
      1 f0 j6 _6 b. s
    11. public class UserServiceImpl implements UserService{
      3 j' z3 k, l5 g1 H# H3 v5 P
    12.     private static String USER_COLLECTION = "users";
      - d: h. W! y! V: H, w6 ~- I
    13.     @Autowired  6 a! Q- c) M( K/ K* v$ X. k! w
    14.     MongoOperations mongoTemplate; , E* q" R6 i4 Y' e; ~
    15.        public void saveUser(Users users){            
      ; |5 V  B8 p6 Z7 f! u% P+ `# L! q
    16.         mongoTemplate.save(users, USER_COLLECTION);            
      3 Y$ L: |7 s1 u  M
    17.     }        
      0 L' z$ |# ]$ G8 z: p
    18.     public Users findUserByName(String name){# X# T* b5 n' n! y: d6 G  n# f
    19.         return mongoTemplate.findOne(new Query(Criteria.where("name").is(name)), Users.class, USER_COLLECTION);  
      6 @: L1 R* G; A
    20.     }
      # k7 f7 N) h9 [
    21.         public void removeUser(String name) {3 M' Z' B3 J" O: N1 a
    22.                 mongoTemplate.remove(new Query(Criteria.where("name").is(name)),Users.class,USER_COLLECTION);
      , M+ C  A7 @, s% J0 s( _7 ^2 D
    23.         }
      2 [6 r; |8 _% @$ a! j& s0 b0 M
    24.         public void updateUser(String name,String key,String value) {
      : M* m( I! \/ F% O) M" d
    25.                 mongoTemplate.updateFirst(new Query(Criteria.where("name").is(name)), Update.update(key, value), Users.class);1 R. j, x; Y* ?7 |4 D8 {
    26.                 . F( W, m  n& t! _' ]# ]
    27.         }
      " g- @- F6 q: x! J; X6 P6 C
    28.         public List<Users> listUser() {1 Y" A. n/ W! E0 g; d
    29.                 return mongoTemplate.findAll(Users.class);) H* s2 J; `' t1 C
    30.         }
      & }% E- o" ~/ Z2 M2 W1 k. c" N$ ?
    31. }
      ! [" D" I  K- I& U( e4 |- N
    复制代码
    / X1 D, F# p, l8 D4 k! \
    # x( ?- w! B) ]- m1 E
    演示地址:http://121.42.26.72:8080/SpringMongod
    + m4 y$ m1 ?3 f0 Y+ B" R" J9 }
    : q* p  @" s; T0 Q6 o2 O7 N; d项目下载地址:Spring4 整合MongoDB详细讲解项目源码
    7 v4 y! Y' h  f8 e1 D8 s9 H- _: O9 w' U1 T+ a* X5 ~
    解压码:www.52itstyle.com
    ' y! B/ M" p' I" a9 s. i# Y5 ^% T

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    admin    

    1244

    主题

    544

    听众

    1万

    金钱

    管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    沙发
    发表于 2015-03-10 20:46:22 |只看该作者
    解压码:本站网址               
    回复

    使用道具 举报

    7

    主题

    3

    听众

    383

    金钱

    版主

    该用户从未签到

    板凳
    发表于 2015-03-10 21:09:32 |只看该作者

    点评

    admin  你妹的 小斑竹  发表于 2015-3-10 21:11 回复
    回复

    使用道具 举报

    2

    主题

    0

    听众

    128

    金钱

    三袋弟子

    该用户从未签到

    地板
    发表于 2015-05-04 00:46:42 |只看该作者
    谢谢分享
    % g! L. @6 q6 h$ L% |; v0 `
    回复

    使用道具 举报

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表