我的日常

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

动态微博

查看: 22085|回复: 152

springMvc整合mybatis项目源码

  [复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

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

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2015-05-19 20:26:36 |只看该作者 |倒序浏览
    一、前言:7 ], @7 Q$ Z' d9 S0 u; U1 E' o
    为开发团队选择一款优秀的MVC框架是件难事儿,在众多可行的方案中决择需要很高的经验和水平。你的一个决定会影响团队未来的几年。要考虑方面太多:
    5 I9 D3 u. V4 M! k1、简单易用,以提高开发效率。使小部分的精力在框架上,大部分的精力放在业务上。
    6 W; }  r% _8 q) \. y2、性能优秀,这是一个最能吸引眼球的话题。8 W* ]7 @. k& M: V$ r3 c2 V
    3、尽量使用大众的框架(避免使用小众的、私有的框架),新招聘来的开发人员有一些这方面技术积累,减低人员流动再适应的影响。
    9 {- e; j' ~. M4 ^5 X2 \3 w0 d+ H+ L* i8 x" m
    如果你还在为这件事件发愁,本文最适合你了。选择spring MVC吧。
    : a/ J8 R, h7 K1 j7 n( L0 o5 ^+ c# k/ ]5 j* G- _2 f2 a' k3 {
    Spring MVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。Spring 3.0更加完善,实现了对struts 2的超越。现在越来越多的开发团队选择了Spring MVC。
    % A. k2 F; o" E0 t
    0 p& f% y0 C4 }; bStruts2也是非常优秀的MVC构架,优点非常多比如良好的结构,拦截器的思想,丰富的功能。但这里想说的是缺点,Struts2由于采用了值栈、OGNL表达式、struts2标签库等,会导致应用的性能下降,应避免使用这些功能。而Struts2的多层拦截器、多实例action性能都很好。
    & K4 W, l6 X. d* @" i
    * k2 F! @( F2 x5 ]Spring3 MVC的优点:- v4 F8 D5 p' z
    1、Spring3 MVC使用简单,学习成本低。学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。' Y% B; Y& }) U6 Y+ [: d; Q$ D
    2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分)" {! L3 X+ M9 {+ p/ F
    3、Spring3 MVC的灵活是你无法想像的,Spring框架的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。$ ~6 E, n. G0 K8 l
    ) W% [: ^7 `. A! V* s
    Struts2的众多优点:
    4 Q2 U" B* i+ Y: O) q: e& O1、老牌的知名框架,从Struts1起积累了大量用户群体。技术文档丰富。
    # A/ |1 P( E* h: O  ^2、其它方面略... * I- ^* g) O* J5 _2 Y9 [
    ==============================================================
    $ q+ `  x5 @$ {什么是mybatis7 ?7 q: c( }) {
    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.
    $ ]. T2 v3 p+ a# j6 r0 k
    / z3 |: U/ b. F  korm工具的基本思想
    - Q" N5 v( M+ m, W$ y6 [# F# r无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:/ Y$ o# {& o4 w
    1. 从配置文件(通常是XML配置文件中)得到 sessionfactory., L) q# [- G5 }" b$ Q/ R+ n
    2. 由sessionfactory  产生 session* M! W7 k* E; ~2 o* m+ O5 {. x
    3. 在session 中完成对数据的增删改查和事务提交等.
    / j2 O/ P8 P; L* H8 L6 W( e$ n+ g& l+ f4. 在用完之后关闭session 。. s) z* m- i) R* L$ l
    5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。! O2 @$ h+ y& U: O: _6 q/ `

    7 L( ^# P$ _+ W; ?4 u2 \" O项目说明:实现了用户登陆demo。
    : Y+ }2 l0 f8 O+ ]; t4 ^项目配置说明:) e2 F0 Q/ i+ z# {
    web.xml:: B0 B4 h% g0 H1 T4 K
    1. <?xml version="1.0" encoding="UTF-8"?>  
      9 j* Q, _+ U! x$ Y( k$ D. X, `0 |
    2. <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"  8 J% D2 A0 b% e8 T6 h
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
      " [$ {* s- Y$ X! z2 e
    4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
      : d: S1 e" N% H: \
    5.     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  
      : M1 n' e' @1 J' B9 Z
    6.       
      6 f4 R0 `& H+ D: E5 ]& K- g
    7.     <!-- 监听spring上下文容器 -->  
      - T% l& C& z8 X9 D
    8.     <listener>  
      * T" d# c8 ^. d% ~7 [
    9.         <listener-class>  
      5 S( P3 {- o! a! d0 C5 V
    10.             org.springframework.web.context.ContextLoaderListener  5 ~8 x& S  ?- k, p; w
    11.         </listener-class>    K0 O8 C" \/ p3 t' n0 n) `
    12.     </listener>  
      9 x9 u1 c* i) i+ y6 x
    13.       : P/ P" N5 P8 V" p) l
    14.     <!-- 加载spring的xml配置文件到 spring的上下文容器中 -->  0 @# L. i( [' a, u& u/ C
    15.     <context-param>  
      + r1 h& ?5 B* a2 |% g8 F
    16.         <param-name>contextConfigLocation</param-name>  4 c1 \$ H1 n! S5 \
    17.         <param-value>classpath:*-context.xml</param-value>  
      " A) S, e4 R" f/ w- f* n. s' D
    18.     </context-param>  
      & |% [8 g: z. b, r7 S. R" }
    19.       
      ( K, r; b" \0 K
    20.     <!-- 配置Spring MVC DispatcherServlet -->  : J. E* t( g% q  S( k
    21.     <servlet>  
      ) F  M" `9 B2 D
    22.         <servlet-name>MVC</servlet-name>  , N  j$ b) x4 R. Q7 c4 w
    23.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
      9 k. Q3 q! M6 L, C8 C7 H
    24.         <!-- 初始化参数 -->  
      ( f+ R1 j0 c* C% c1 O2 x, E
    25.         <init-param>  
      ; D8 Y9 m4 m4 R8 M: r4 e
    26.             <!-- 加载SpringMVC的xml到 spring的上下文容器中 -->  
      ' |' |  j' Z- e. b5 ?' ~  M  H
    27.             <param-name>contextConfigLocation</param-name>  7 Q3 z3 z# k& r, T/ u. s* x+ A5 Q0 Y
    28.             <param-value>  
      4 D* I4 {' p5 B$ B$ D! s6 r, j
    29.                 /WEB-INF/classes/mvc-context.xml  0 z" j: W$ q1 i! x/ a; [1 t& P
    30.             </param-value>  - o; E, m; D6 D2 K
    31.         </init-param>  2 U; x3 F3 Y. r1 O2 ~) h
    32.         <load-on-startup>1</load-on-startup>  
      , O0 s  O9 N. F% X
    33.     </servlet>  ' {1 J& d8 y( n6 P3 q
    34.     v# `' o+ o' \" ?" V% o
    35.     <!-- 配置DispatcherServlet所需要拦截的 url -->  
      8 ^; K, {7 J1 f  f# T/ g+ e
    36.     <servlet-mapping>  
      4 z0 M! D; O+ @
    37.         <servlet-name>MVC</servlet-name>  
      ) [" L( h5 X5 ?3 z$ O
    38.         <url-pattern>*.do</url-pattern>  
      , [* ]5 S$ R8 E4 q  T" E+ U3 O/ X
    39.     </servlet-mapping>  
      $ [- y: a+ i. f% R( z$ V7 V, ^
    40.   
      5 u5 P1 e( G7 @) C" ~. |. U
    41.     <welcome-file-list>  
      % @' j: u. p2 }% Z; t- N! ~
    42.         <welcome-file>index.jsp</welcome-file>  
      % e+ @/ A4 [3 B9 O6 n, L
    43.     </welcome-file-list>  
      . r& @4 B& s% ]6 \; Z7 k0 v
    44.   
      ! N& P( D' e1 X
    45.   4 [9 R* S& x0 @9 f$ ]% g; ]* |
    46. </web-app>  
    复制代码
    ' g/ t+ P) r$ G; [! x( B. e5 `0 O
    mvc-context.xml:4 S" B/ G: l+ f/ E1 ]1 x
    1. <?xml version="1.0" encoding="UTF-8"?>. W. O( c' e7 m+ p4 C  f
    2. <beans xmlns="http://www.springframework.org/schema/beans"
      ; E$ H8 x( S) _) [/ e. r& k1 t# k
    3.         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
      . f$ B% X" D' m/ z* ^
    4.         xmlns:context="http://www.springframework.org/schema/context"
      & c5 B5 P: r) q5 w
    5.         xsi:schemaLocation="http://www.springframework.org/schema/beans! X; \; a% v7 w2 ^1 Y% S
    6.   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      , c+ X% u# d. [7 Q
    7.   http://www.springframework.org/schema/context5 M; M/ W* V( f  M' p9 g$ V
    8.   http://www.springframework.org/schema/context/spring-context-3.0.xsd">
      ; m3 }6 E4 W+ @! P0 s

    9. % x2 Q* E& h' {7 n( ^' l
    10.         <context:component-scan base-package="com.wg.*" />+ N3 Y6 n) L: b& H) b
    11. - P- o6 Q& k( j' z% }
    12.         <bean id="viewResolver"
      7 F% n& I( o; z
    13.                 class="org.springframework.web.servlet.view.UrlBasedViewResolver">
      - x' X  @& n1 P
    14.                 <property name="viewClass"* t. M& G. A! C7 @4 {5 h/ N! b
    15.                         value="org.springframework.web.servlet.view.JstlView" />
      0 r. G/ j( d1 X1 K$ T
    16.                 <property name="prefix" value="/page/" />
      + U9 e& N' D6 Y6 r
    17.                 <property name="suffix" value=".jsp" />" D* |8 R: s: V( j
    18.         </bean>  x( n' E) `7 l9 L  q$ s
    19. </beans>) n( R6 H  L' y$ i/ y( a
    复制代码
    8 J* {) r9 C. c0 ~5 d, P/ `
    mybatis-config.xml:. I: c1 r: w& E2 J1 f- }* u$ E
    1. <?xml version="1.0" encoding="UTF-8"?>
      3 Q/ @$ W2 `2 r: q
    2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
      ) z: z( s# Y# X
    3. "http://mybatis.org/dtd/mybatis-3-config.dtd">) U! x, v3 ?& o" T' u6 m: a2 `
    4. <configuration>3 B# l# K: }, H) u  m
    5.         <typeAliases>6 w2 o: B  N# G# T( E
    6.                 <package name="com.wg.bean" />0 a- F! A3 {% h0 l, F0 S% r% l
    7.         </typeAliases>  |# [2 E7 s4 w0 S3 P' u
    8.         <mappers>! P5 D4 h* ^( A' _1 M6 Y/ [
    9.                 <mapper resource="com/wg/bean/UserMapper.xml" />6 f" }5 ~3 k9 W9 P( ^% `0 U
    10.         </mappers>) U7 j# F& \+ [: |5 \
    11. </configuration>
    复制代码
    root-context.xml:8 l8 n1 V+ C# h* _, r. d
    1. <?xml version="1.0" encoding="UTF-8"?>% T9 _, c8 g: B
    2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
      " L* O/ D: O% t( c- ]3 x
    3. "http://mybatis.org/dtd/mybatis-3-config.dtd">- e/ w4 J3 L/ g! K" N/ k8 o1 ^
    4. <configuration>
      6 P+ L$ D' n; K% k! K) I9 c0 }
    5.         <typeAliases>3 i8 `$ w) c, A* f$ R6 z( l
    6.                 <package name="com.wg.bean" />
      2 T$ ^& K* k* Q0 a5 h- K, ^
    7.         </typeAliases>
      * x# z9 G8 L  j% r) ^
    8.         <mappers>! {- U  L9 y7 ]
    9.                 <mapper resource="com/wg/bean/UserMapper.xml" />( m/ ^5 i  K; j' V! _+ K% k
    10.         </mappers>* I3 N9 @* L0 S
    11. </configuration>
    复制代码

    5 ]% s7 p  J) g- auser-context.xml:
    1. <?xml version="1.0" encoding="UTF-8"?>
      ' Y/ X; I# |* }* O& c' f2 w; b
    2. <beans xmlns="http://www.springframework.org/schema/beans"+ P4 E# ^: [* c: n9 [! E
    3.   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      + `6 e$ J2 ]$ P8 Q- _7 W9 z9 \
    4.   xmlns:context="http://www.springframework.org/schema/context"+ I' l0 d. u! i' Y( y3 d# d/ l
    5.   xsi:schemaLocation="http://www.springframework.org/schema/beans4 d0 b3 Y' x) ]6 U* H- u* `
    6.       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
      $ W* K( |% p* c0 G6 l# [
    7.       http://www.springframework.org/schema/context
      / m3 f8 w( `3 L
    8.       http://www.springframework.org/schema/context/spring-context-3.2.xsd" >
      2 i4 I( f0 q: z* W) k
    9.      . g: j. X+ o" ~
    10.          " _# F3 L' C0 [6 c7 W
    11.         <!-- 用户Dao -->
      2 M2 P( V7 `  [0 v! W1 T3 `1 \8 D
    12.         <bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  
      5 M: O: e! T" t, R
    13.             <property name="mapperInterface" value="com.wg.dao.UserDao" />  
      3 I. P+ h, i' d- }# X
    14.             <property name="sqlSessionFactory" ref="sqlSessionFactory" />  2 e- D) N' _- K3 c% R$ f" k$ j) b
    15.         </bean>
      8 d* d  u9 R( _4 E. m: A1 I1 N3 B$ W
    16. 3 P/ H( C5 A* @9 X" M9 ?) ]

    17. / r6 j* \# y( Y& Y% O. w
    18. </beans>
    复制代码
    $ y* D6 [+ |$ L

    * o7 d( w* X% _" K, E+ F" J. p9 R9 D3 z0 A% W
    链接:springMvc整合mybatis项目源码
    ; R& {! W- r* R 密码:
    游客,如果您要查看本帖隐藏内容请回复

    ) N- J  N& u+ N& i2 m& ?, `
    ( k7 \6 i8 J4 K8 a% ^; U; C, k9 C- D$ p; ~  t7 n! @" O; j
    0 h8 W" [- p" V: e

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


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

    1

    主题

    0

    听众

    154

    金钱

    三袋弟子

    该用户从未签到

    沙发
    发表于 2015-05-19 20:38:12 |只看该作者
    89999999999999999999999999999999999999999999
    回复

    使用道具 举报

    4

    主题

    0

    听众

    251

    金钱

    四袋长老

    该用户从未签到

    板凳
    发表于 2015-05-19 23:07:10 |只看该作者
    好久没用过ibatis了
    回复

    使用道具 举报

    72

    主题

    0

    听众

    1034

    金钱

    五袋长老

    该用户从未签到

    90后

    地板
    发表于 2015-05-20 08:37:47 |只看该作者
    下载下来学习下!!!
    回复

    使用道具 举报

    2

    主题

    0

    听众

    112

    金钱

    二袋弟子

    该用户从未签到

    5#
    发表于 2015-05-21 10:19:39 |只看该作者
    正要学习mybatis,下载了
    回复

    使用道具 举报

    13

    主题

    2

    听众

    115

    金钱

    三袋弟子

    该用户从未签到

    6#
    发表于 2015-07-05 11:47:35 |只看该作者
    下来看看  好久没看ibatis了
    回复

    使用道具 举报

    12

    主题

    3

    听众

    526

    金钱

    四袋长老

    该用户从未签到

    7#
    发表于 2015-07-22 23:02:26 |只看该作者
    顶一个111111
    回复

    使用道具 举报

    1

    主题

    0

    听众

    618

    金钱

    四袋长老

    该用户从未签到

    8#
    发表于 2015-07-28 21:50:37 |只看该作者
    好东西。。。。
    回复

    使用道具 举报

    16

    主题

    0

    听众

    235

    金钱

    四袋长老

    该用户从未签到

    9#
    发表于 2015-08-22 12:27:26 |只看该作者
    一直用ssh,这个拿来研究下
    回复

    使用道具 举报

    2

    主题

    1

    听众

    1352

    金钱

    六袋长老

    该用户从未签到

    10#
    发表于 2015-08-22 19:42:01 |只看该作者
    好东西啊Q!!!!!!!!!!!!!!!!!!!!!!!!!v
    回复

    使用道具 举报

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

       

    关闭

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

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