[6440] 2020-01-18_Mybatis学习的深入浅出

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-17
2020-01-18_Mybatis学习的深入浅出 M y b a t i s E   2 0 2 0 - 0 1 - 1 8   N o . 1 N o . 1 使 N o . 2 N o . 2 d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o d e m o U s e r : p a c k a g e   c o m . t e s t . e n t i t y ; i m p o r t   l o m b o k . D a t a ; @ D a t a p u b l i c   c l a s s   U s e r   {       p r i v a t e   i n t   i d ;       p r i v a t e   S t r i n g   n a m e ;       p r i v a t e   S t r i n g   p a s s w o r d ;       p r i v a t e   i n t   a g e ;     p r i v a t e   i n t   d e l e t e F l a g ; } U s e r M a p p e r : p u b l i c   i n t e r f a c e   U s e r M a p p e r   {         p u b l i c   v o i d   i n s e r t ( U s e r   u s e r ) ;         p u b l i c   U s e r   f i n d U s e r B y I d   ( i n t   u s e r I d ) ;         p u b l i c   L i s t < U s e r >   f i n d A l l U s e r s ( ) ; } u s e r - m a p p i n g . x m l : < ? x m l   v e r s i o n = " 1 . 0 "   e n c o d i n g = " U T F - 8 "   ? >       < ! D O C T Y P E   m a p p e r       P U B L I C   " - / / i b a t i s . a p a c h e . o r g / / D T D   M a p p e r   3 . 0 / / E N "     " h t t p : / / i b a t i s . a p a c h e . o r g / d t d / i b a t i s - 3 - m a p p e r . d t d " >   < m a p p e r   n a m e s p a c e = " c o m . t e s t . d a o . U s e r M a p p e r " >     < s e l e c t   i d = " f i n d U s e r B y I d "   r e s u l t T y p e = " c o m . t e s t . e n t i t y . U s e r "   >             s e l e c t   *   f r o m   u s e r   w h e r e   i d   =   # { i d }       < / s e l e c t > < / m a p p e r >   .
N o . 3 N o . 3 S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y B u i l d e r 1 . S q l S e s s i o n F a c t o r y B u i l d e r 2 . S q l S e s s i o n F a c t o r y B u i l d e r S q l S e s s i o n F a c t o r y 3 . S q l S e s s i o n F a c t o r y . o p e n S e s s i o n ( ) S q l S e s s i o n 4 . S q l S e s s i o n . g e t M a p p e r ( ) m a p p e r 5 . f i n d U s e r B y I d S q l S e s s i o n F a c t o r y B u i l d e r   S q l S e s s i o n F a c t o r y B u i l d e r   X M L C o n f i g B u i l d e r   m y b a t i s     X M L C o n f i g B u i l d e r   p u b l i c   c l a s s   U s e r D a o T e s t   {         @ T e s t       p u b l i c   v o i d   f i n d U s e r B y I d ( )   {               S q l S e s s i o n   s q l S e s s i o n   =   g e t S e s s i o n F a c t o r y ( ) . o p e n S e s s i o n ( ) ;                   U s e r M a p p e r   u s e r M a p p e r   =   s q l S e s s i o n . g e t M a p p e r ( U s e r M a p p e r . c l a s s ) ;                   U s e r   u s e r   =   u s e r M a p p e r . f i n d U s e r B y I d ( 2 ) ;                   A s s e r t . a s s e r t N o t N u l l ( " " ,   u s e r ) ;       }         / / M y b a t i s   S q l S e s s i o n F a c t o r y S q l S e s s i o n ,   S q l S e s s i o n       p r i v a t e   s t a t i c   S q l S e s s i o n F a c t o r y   g e t S e s s i o n F a c t o r y ( )   {                   S q l S e s s i o n F a c t o r y   s e s s i o n F a c t o r y   =   n u l l ;                   S t r i n g   r e s o u r c e   =   " c o n f i g u r a t i o n . x m l " ;                   t r y   {                           s e s s i o n F a c t o r y   =   n e w   S q l S e s s i o n F a c t o r y B u i l d e r ( ) . b u i l d ( R e s o u r c e s                                           . g e t R e s o u r c e A s R e a d e r ( r e s o u r c e ) ) ;               }   c a t c h   ( I O E x c e p t i o n   e )   {                           e . p r i n t S t a c k T r a c e ( ) ;                   }                   r e t u r n   s e s s i o n F a c t o r y ;           }     } p u b l i c   c l a s s   S q l S e s s i o n F a c t o r y B u i l d e r   {     / / R e a d e r m y b a t i s   / / R e a d e r i n p u t S t r e a m   / / m y b a t i s   p u b l i c   S q l S e s s i o n F a c t o r y   b u i l d ( R e a d e r   r e a d e r )   {         r e t u r n   b u i l d ( r e a d e r ,   n u l l ,   n u l l ) ;   }     p u b l i c   S q l S e s s i o n F a c t o r y   b u i l d ( R e a d e r   r e a d e r ,   S t r i n g   e n v i r o n m e n t )   {         r e t u r n   b u i l d ( r e a d e r ,   e n v i r o n m e n t ,   n u l l ) ;   }     / / m y b a t i s   +   p r o p e r t i e s ,   m y b a t i s p r o p e r t i e s 使 $ { }   p u b l i c   S q l S e s s i o n F a c t o r y   b u i l d ( R e a d e r   r e a d e r ,   P r o p e r t i e s   p r o p e r t i e s )   {         r e t u r n   b u i l d ( r e a d e r ,   n u l l ,   p r o p e r t i e s ) ;   }     / / X M L C o n f i g B u i l d e r m y b a t i s S q l S e s s i o n F a c t o r y   p u b l i c   S q l S e s s i o n F a c t o r y   b u i l d ( R e a d e r   r e a d e r ,   S t r i n g   e n v i r o n m e n t ,   P r o p e r t i e s   p r o p e r t i e s )   {         t r y   {           X M L C o n f i g B u i l d e r   p a r s e r   =   n e w   X M L C o n f i g B u i l d e r ( r e a d e r ,   e n v i r o n m e n t ,   p r o p e r t i e s ) ;             / /           r e t u r n   b u i l d ( p a r s e r . p a r s e ( ) ) ;       }   c a t c h   ( E x c e p t i o n   e )   {             t h r o w   E x c e p t i o n F a c t o r y . w r a p E x c e p t i o n ( " E r r o r   b u i l d i n g   S q l S e s s i o n . " ,   e ) ;       }   f i n a l l y   {           E r r o r C o n t e x t . i n s t a n c e ( ) . r e s e t ( ) ;             t r y   {               r e a d e r . c l o s e ( ) ;           }   c a t c h   ( I O E x c e p t i o n   e )   {                 / /   I n t e n t i o n a l l y   i g n o r e .   P r e f e r   p r e v i o u s   e r r o r .           }
m y b a t i s 1 .   c o n f i g u r a t i o n 2 .   c o n f i g u r a t i o n 1 0   p r o p e r t i e s t y p e A l i a s e s p l u g i n s o b j e c t F a c t o r y o b j e c t W r a p p e r F a c t o r y s e t t i n g s e n v i r o n m e n t s d a t a b a s e I d P r o v i d e r t y p e H a n d l e r s m a p p e r s N o . 4 N o . 4 X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s m v c p r o p e r t i e s ( ) e n v i r o n m e n t s ( )   p r o p e r t i e s : < c o n f i g u r a t i o n > < ! - -     p r o p e r t i e s ,   使 r e s o u r c e u r l u r l       < p r o p e r t i e s   r e s o u r c e = " d b C o n f i g . p r o p e r t i e s " > < / p r o p e r t i e s >     - - >   < ! - -     x m l   - - >   < p r o p e r t i e s >           < p r o p e r t y   n a m e = " d r i v e r "   v a l u e = " c o m . m y s q l . j d b c . D r i v e r " / >           < p r o p e r t y   n a m e = " u r l "   v a l u e = " j d b c : m y s q l : / / l o c a l h o s t : 3 3 0 6 / t e s t 1 " / >           < p r o p e r t y   n a m e = " u s e r n a m e "   v a l u e = " r o o t " / >           < p r o p e r t y   n a m e = " p a s s w o r d "   v a l u e = " r o o t " / >   < / p r o p e r t i e s > e n v i r o n m e n t s   : / * * *   m y b a t i s   * / p u b l i c   c l a s s   X M L C o n f i g B u i l d e r   e x t e n d s   B a s e B u i l d e r   {     p u b l i c   X M L C o n f i g B u i l d e r ( I n p u t S t r e a m   i n p u t S t r e a m ,   S t r i n g   e n v i r o n m e n t ,   P r o p e r t i e s   p r o p s ) {         t h i s ( n e w   X P a t h P a r s e r ( i n p u t S t r e a m ,   t r u e ,   p r o p s ,   n e w   X M L M a p p e r E n t i t y R e s o l v e r ( ) ) ,   e n v i r o n m e n t ,   p r o p s ) ;   }     p r i v a t e   X M L C o n f i g B u i l d e r ( X P a t h P a r s e r   p a r s e r ,   S t r i n g   e n v i r o n m e n t ,   P r o p e r t i e s   p r o p s )   {         s u p e r ( n e w   C o n f i g u r a t i o n ( ) ) ;       E r r o r C o n t e x t . i n s t a n c e ( ) . r e s o u r c e ( " S Q L   M a p p e r   C o n f i g u r a t i o n " ) ;         t h i s . c o n f i g u r a t i o n . s e t V a r i a b l e s ( p r o p s ) ;         t h i s . p a r s e d   =   f a l s e ;         t h i s . e n v i r o n m e n t =   e n v i r o n m e n t ;         t h i s . p a r s e r   =   p a r s e r ;   }     / / m y b a t i s   p u b l i c   C o n f i g u r a t i o n   p a r s e ( )   {         i f   ( p a r s e d )   {             t h r o w   n e w   B u i l d e r E x c e p t i o n ( " E a c h   X M L C o n f i g B u i l d e r   c a n   o n l y   b e   u s e d   o n c e . " ) ;       }       p a r s e d   =   t r u e ;         / / c o n f i g u r a t i o n       p a r s e C o n f i g u r a t i o n ( p a r s e r . e v a l N o d e ( " / c o n f i g u r a t i o n " ) ) ;         r e t u r n   c o n f i g u r a t i o n ;   }     / / c o n f i g u r a t i o n   / / c o n f i g u r a t i o n 1 0   p r i v a t e   v o i d   p a r s e C o n f i g u r a t i o n ( X N o d e   r o o t )   {         t r y   {           p r o p e r t i e s E l e m e n t ( r o o t . e v a l N o d e ( " p r o p e r t i e s " ) ) ;   / / i s s u e   # 1 1 7   r e a d   p r o p e r t i e s   f i r s t           t y p e A l i a s e s E l e m e n t ( r o o t . e v a l N o d e ( " t y p e A l i a s e s " ) ) ;           p l u g i n E l e m e n t ( r o o t . e v a l N o d e ( " p l u g i n s " ) ) ;           o b j e c t F a c t o r y E l e m e n t ( r o o t . e v a l N o d e ( " o b j e c t F a c t o r y " ) ) ;           o b j e c t W r a p p e r F a c t o r y E l e m e n t ( r o o t . e v a l N o d e ( " o b j e c t W r a p p e r F a c t o r y " ) ) ;           s e t t i n g s E l e m e n t ( r o o t . e v a l N o d e ( " s e t t i n g s " ) ) ;           e n v i r o n m e n t s E l e m e n t ( r o o t . e v a l N o d e ( " e n v i r o n m e n t s " ) ) ;   / /   r e a d   i t   a f t e r   o b j e c t F a c t o r y   a n d   o b j e c t W r a p p e r F a c t o r y   i s s u e   # 6 3 1           d a t a b a s e I d P r o v i d e r E l e m e n t ( r o o t . e v a l N o d e ( " d a t a b a s e I d P r o v i d e r " ) ) ;           t y p e H a n d l e r E l e m e n t ( r o o t . e v a l N o d e ( " t y p e H a n d l e r s " ) ) ;           m a p p e r E l e m e n t ( r o o t . e v a l N o d e ( " m a p p e r s " ) ) ;       }   c a t c h   ( E x c e p t i o n   e )   {             t h r o w   n e w   B u i l d e r E x c e p t i o n ( " E r r o r   p a r s i n g   S Q L   M a p p e r   C o n f i g u r a t i o n .   C a u s e :   "   +   e ,   e ) ;       }   } }
m y b a t i s   X M L C o n f i g B u i l d e r m y b a t i s X M L C o n f i g B u i l d e r p r o p e r t i e s e n v i r o n m e n t s X M L C o n f i g B u i l d e r   d a t a S o u r c e 使   $ { d r i v e r }     P r o p e r t y P a r s e r c o n f i g u r a t i o n c o n f i g u r a t i o n S q l S e s s i o n F a c t o r y < e n v i r o n m e n t s   d e f a u l t = " d e v e l o p m e n t " >       < e n v i r o n m e n t   i d = " d e v e l o p m e n t " >           < t r a n s a c t i o n M a n a g e r   t y p e = " J D B C " / >           < d a t a S o u r c e   t y p e = " P O O L E D " >                   < ! - -                   p r o p e r t i e s                 < p r o p e r t y   n a m e = " d r i v e r "   v a l u e = " c o m . m y s q l . j d b c . D r i v e r " / >               < p r o p e r t y   n a m e = " u r l "   v a l u e = " j d b c : m y s q l : / / l o c a l h o s t : 3 3 0 6 / t e s t 1 " / >               < p r o p e r t y   n a m e = " u s e r n a m e "   v a l u e = " r o o t " / >               < p r o p e r t y   n a m e = " p a s s w o r d "   v a l u e = " r o o t " / >                 - - >                 < ! - -       - - >                 < p r o p e r t y   n a m e = " d r i v e r "   v a l u e = " $ { d r i v e r } " / >                 < p r o p e r t y   n a m e = " u r l "   v a l u e = " $ { u r l } " / >                 < p r o p e r t y   n a m e = " u s e r n a m e "   v a l u e = " $ { u s e r n a m e } " / >                 < p r o p e r t y   n a m e = " p a s s w o r d "   v a l u e = " $ { p a s s w o r d } " / >           < / d a t a S o u r c e >       < / e n v i r o n m e n t >       < ! - -   e n v i r o n m e n t   - - >       < e n v i r o n m e n t   i d = " t e s t " >           < t r a n s a c t i o n M a n a g e r   t y p e = " J D B C " / >           < d a t a S o u r c e   t y p e = " P O O L E D " >               < p r o p e r t y   n a m e = " d r i v e r "   v a l u e = " c o m . m y s q l . j d b c . D r i v e r " / >               < ! - -   u r l   - - >               < p r o p e r t y   n a m e = " u r l "   v a l u e = " j d b c : m y s q l : / / l o c a l h o s t : 3 3 0 6 / d e m o " / >               < p r o p e r t y   n a m e = " u s e r n a m e "   v a l u e = " r o o t " / >               < p r o p e r t y   n a m e = " p a s s w o r d "   v a l u e = " r o o t " / >           < / d a t a S o u r c e >       < / e n v i r o n m e n t >   < / e n v i r o n m e n t s > p u b l i c   c l a s s   X M L C o n f i g B u i l d e r   e x t e n d s   B a s e B u i l d e r   {         p r i v a t e   b o o l e a n   p a r s e d ;         / / x m l       p r i v a t e   X P a t h P a r s e r   p a r s e r ;         p r i v a t e   S t r i n g   e n v i r o n m e n t ;         / / m y b a t i s       / / p r o p e r t i e s e n v i r o n m e n t s       p r i v a t e   v o i d   p a r s e C o n f i g u r a t i o n ( X N o d e   r o o t )   {                 t r y   {                     / / p r o p e r t i e s                   p r o p e r t i e s E l e m e n t ( r o o t . e v a l N o d e ( " p r o p e r t i e s " ) ) ;   / / i s s u e   # 1 1 7   r e a d   p r o p e r t i e s   f i r s t                   t y p e A l i a s e s E l e m e n t ( r o o t . e v a l N o d e ( " t y p e A l i a s e s " ) ) ;                   p l u g i n E l e m e n t ( r o o t . e v a l N o d e ( " p l u g i n s " ) ) ;                   o b j e c t F a c t o r y E l e m e n t ( r o o t . e v a l N o d e ( " o b j e c t F a c t o r y " ) ) ;                   o b j e c t W r a p p e r F a c t o r y E l e m e n t ( r o o t . e v a l N o d e ( " o b j e c t W r a p p e r F a c t o r y " ) ) ;                   s e t t i n g s E l e m e n t ( r o o t . e v a l N o d e ( " s e t t i n g s " ) ) ;                     / / e n v i r o n m e n t s                   e n v i r o n m e n t s E l e m e n t ( r o o t . e v a l N o d e ( " e n v i r o n m e n t s " ) ) ;   / /   r e a d   i t   a f t e r   o b j e c t F a c t o r y   a n d   o b j e c t W r a p p e r F a c t o r y   i s s u e   # 6 3 1                   d a t a b a s e I d P r o v i d e r E l e m e n t ( r o o t . e v a l N o d e ( " d a t a b a s e I d P r o v i d e r " ) ) ;                   t y p e H a n d l e r E l e m e n t ( r o o t . e v a l N o d e ( " t y p e H a n d l e r s " ) ) ;                   m a p p e r E l e m e n t ( r o o t . e v a l N o d e ( " m a p p e r s " ) ) ;               }   c a t c h   ( E x c e p t i o n   e )   {                     t h r o w   n e w   B u i l d e r E x c e p t i o n ( " E r r o r   p a r s i n g   S Q L   M a p p e r   C o n f i g u r a t i o n .   C a u s e :   "   +   e ,   e ) ;               }       }         / / p r o p e r t i e s       p r i v a t e   v o i d   p r o p e r t i e s E l e m e n t ( X N o d e   c o n t e x t )   t h r o w s   E x c e p t i o n   {                 i f   ( c o n t e x t   ! =   n u l l )   {                     / /   n a m e   v a l u e s e t p r o p e r t i e s                   / / x m l   p r o p e r t i e s                   P r o p e r t i e s   d e f a u l t s   =   c o n t e x t . g e t C h i l d r e n A s P r o p e r t i e s ( ) ;                     / / p r o p e r t i e s   r e s o u r c e                   S t r i n g   r e s o u r c e   =   c o n t e x t . g e t S t r i n g A t t r i b u t e ( " r e s o u r c e " ) ;                     / / p r o p e r t i e s   u r l ,   r e s o u r c e u r l                   S t r i n g   u r l   =   c o n t e x t . g e t S t r i n g A t t r i b u t e ( " u r l " ) ;                     i f   ( r e s o u r c e   ! =   n u l l   & &   u r l   ! =   n u l l )   {                         t h r o w   n e w   B u i l d e r E x c e p t i o n ( " T h e   p r o p e r t i e s e l e m e n t   c a n n o t   s p e c i f y   b o t h   a   U R L   a n d   a   r e s o u r c e   b a s e d   p r o p e r t y   f i l e   r e f e r e n c e .     P l e a s e   s p e c i f y   o n e   o r   t h e   o t h e r . " ) ;                   }                     / / p r o p e r t i e s s e t P r o p e r t i e s / * * *   $ { } * / p u b l i c   c l a s s   P r o p e r t y P a r s e r   {     p u b l i c   s t a t i c   S t r i n g   p a r s e ( S t r i n g   s t r i n g ,   P r o p e r t i e s   v a r i a b l e s )   {       V a r i a b l e T o k e n H a n d l e r   h a n d l e r   =   n e w   V a r i a b l e T o k e n H a n d l e r ( v a r i a b l e s ) ;       G e n e r i c T o k e n P a r s e r   p a r s e r   =   n e w   G e n e r i c T o k e n P a r s e r ( " $ { " ,   " } " ,   h a n d l e r ) ;         r e t u r n   p a r s e r . p a r s e ( s t r i n g ) ;   }     p r i v a t e   s t a t i c   c l a s s   V a r i a b l e T o k e n H a n d l e r   i m p l e m e n t s   T o k e n H a n d l e r   {         p r i v a t e   P r o p e r t i e s   v a r i a b l e s ;         p u b l i c   V a r i a b l e T o k e n H a n d l e r ( P r o p e r t i e s v a r i a b l e s )   {             t h i s . v a r i a b l e s   =   v a r i a b l e s ;       }         p u b l i c   S t r i n g   h a n d l e T o k e n ( S t r i n g   c o n t e n t )   {             i f   ( v a r i a b l e s   ! =   n u l l   & &   v a r i a b l e s . c o n t a i n s K e y ( c o n t e n t ) )   {                 r e t u r n v a r i a b l e s . g e t P r o p e r t y ( c o n t e n t ) ;           }             r e t u r n   " $ { "   +   c o n t e n t   +   " } " ;       }   }
N o . 5 N o . 5 S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n S q l S e s s i o n F a c t o r y S q l S e s s i o n F a c t o r y S q l S e s s i o n D e m o / * *     *   o p e n S e s s i o n     *   @ p a r a m   e x e c T y p e       *   @ p a r a m   l e v e l     *   @ p a r a m   a u t o C o m m i t     *   @ r e t u r n     * /   p r i v a t e   S q l S e s s i o n   o p e n S e s s i o n F r o m D a t a S o u r c e ( E x e c u t o r T y p e   e x e c T y p e ,   T r a n s a c t i o n I s o l a t i o n L e v e l   l e v e l ,   b o o l e a n   a u t o C o m m i t )   {       T r a n s a c t i o n   t x   =   n u l l ;         t r y   {             / / C o n f u g u r a t i o n M y b a t i s ,   E n v i r o n m e n t           f i n a l   E n v i r o n m e n t   e n v i r o n m e n t   =   c o n f i g u r a t i o n . g e t E n v i r o n m e n t ( ) ;             f i n a l   T r a n s a c t i o n F a c t o r y   t r a n s a c t i o n F a c t o r y   = g e t T r a n s a c t i o n F a c t o r y F r o m E n v i r o n m e n t ( e n v i r o n m e n t ) ;           t x   =   t r a n s a c t i o n F a c t o r y . n e w T r a n s a c t i o n ( e n v i r o n m e n t . g e t D a t a S o u r c e ( ) ,   l e v e l ,   a u t o C o m m i t ) ;             / / s q l S e s s i o n s q l   e x c u t o r   e x c u t o r S t a t e m e n t           f i n a l   E x e c u t o r   e x e c u t o r   =   c o n f i g u r a t i o n . n e w E x e c u t o r ( t x ,   e x e c T y p e ) ;             / / D e f a u l t S q l S e s s i o n           r e t u r n   n e w   D e f a u l t S q l S e s s i o n ( c o n f i g u r a t i o n ,   e x e c u t o r ,   a u t o C o m m i t ) ;       }   c a t c h   ( E x c e p t i o n   e )   {           c l o s e T r a n s a c t i o n ( t x ) ;   / /   m a y   h a v e   f e t c h e d   a   c o n n e c t i o n   s o   l e t s   c a l l   c l o s e ( )           t h r o w   E x c e p t i o n F a c t o r y . w r a p E x c e p t i o n ( " E r r o r   o p e n i n g   s e s s i o n .     C a u s e :   "   +   e ,   e ) ;       }   f i n a l l y   {           E r r o r C o n t e x t . i n s t a n c e ( ) . r e s e t ( ) ;       }
S q l S e s s i o n F a c t o r y   s e s s i o n F a c t o r y   =   n u l l ;     S t r i n g   r e s o u r c e   =   " m y b a t i s - c o n f . x m l " ;     t r y   {           / / S q l S e s s i o n F a c t o r y B u i l d e r       s e s s i o n F a c t o r y   =   n e w   S q l S e s s i o n F a c t o r y B u i l d e r ( ) . b u i l d ( R e s o u r c e s                               . g e t R e s o u r c e A s R e a d e r ( r e s o u r c e ) ) ; }   c a t c h   ( I O E x c e p t i o n   e )   {           e . p r i n t S t a c k T r a c e ( ) ;     }         / / S q l S e s s i o n F a c t o r y S q l S e s s i o n S q l S e s s i o n   s q l S e s s i o n   =   s e s s i o n F a c t o r y . o p e n S e s s i o n ( ) ; S q l S e s s i o n S q l S e s s i o n s e l e c t ,     i n s e r t ,   u p d a t e ,   d e l e t e C R U D N o . 6 N o . 6 M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r M a p p e r S q l S e s s i o n S q l S e s s i o n . g e t M a p p e r ( D A O . C l a s s ) d a o S q l S e s s i o n D e f a u l t S q l S e s s i o n D e f a u l t S q l S e s s i o n . g e t M a p p e r / * *     *   c o n f i g u r a t i o n     * /   @ O v e r r i d e   p u b l i c   < T >   T   g e t M a p p e r ( C l a s s < T >   t y p e )   {         r e t u r n   c o n f i g u r a t i o n . < T > g e t M a p p e r ( t y p e ,   t h i s ) ;   } C o n f i g u r a t i o n . g e t M a p p e r
  p r o t e c t e d   f i n a l   M a p p e r R e g i s t r y   m a p p e r R e g i s t r y   =   n e w   M a p p e r R e g i s t r y ( t h i s ) ; / * *     *   m a p p e r R e g i s t r y     *   @ p a r a m   t y p e     *   @ p a r a m   s q l S e s s i o n     *   @ r e t u r n     * /   p u b l i c   < T >   T   g e t M a p p e r ( C l a s s < T >   t y p e ,   S q l S e s s i o n   s q l S e s s i o n )   {         r e t u r n   m a p p e r R e g i s t r y . g e t M a p p e r ( t y p e ,   s q l S e s s i o n ) ;   } M a p p e r R e g i s t r y m a p p e r P r o x y F a c t o r y . n e w I n s t a n c e ( s q l S e s s i o n ) / * *     *       *   @ p a r a m   m a p p e r P r o x y     *   @ r e t u r n     * /   @ S u p p r e s s W a r n i n g s ( " u n c h e c k e d " )     p r o t e c t e d   T   n e w I n s t a n c e ( M a p p e r P r o x y < T >   m a p p e r P r o x y )   {         / / m a p p e r I n t e r f a c e M a p p e r M a p p e r m a p p e r P r o x y , m a p p e r P r o x y . i n v o k e ( )         r e t u r n   ( T )   P r o x y . n e w P r o x y I n s t a n c e ( m a p p e r I n t e r f a c e . g e t C l a s s L o a d e r ( ) ,   n e w   C l a s s [ ]   {   m a p p e r I n t e r f a c e   } ,   m a p p e r P r o x y ) ;   }     p u b l i c   T   n e w I n s t a n c e ( S q l S e s s i o n   s q l S e s s i o n )   {         f i n a l   M a p p e r P r o x y < T >   m a p p e r P r o x y   =   n e w   M a p p e r P r o x y < T > ( s q l S e s s i o n ,   m a p p e r I n t e r f a c e , m e t h o d C a c h e ) ;         r e t u r n   n e w I n s t a n c e ( m a p p e r P r o x y ) ;   } M a p p e r P r o x y         / / c l a s s       p r i v a t e   f i n a l   M a p < C l a s s < ? > ,   M a p p e r P r o x y F a c t o r y < ? > >   k n o w n M a p p e r s   =   n e w   H a s h M a p < C l a s s < ? > ,   M a p p e r P r o x y F a c t o r y < ? > > ( ) ; / * *     *   g e t M a p p e r     *   @ p a r a m   t y p e     *   @ p a r a m   s q l S e s s i o n     *   @ r e t u r n     * /   @ S u p p r e s s W a r n i n g s ( " u n c h e c k e d " )     p u b l i c   < T >   T   g e t M a p p e r ( C l a s s < T >   t y p e ,   S q l S e s s i o n   s q l S e s s i o n )   {         / / M a p p e r P r o x y F a c t o r y       f i n a l   M a p p e r P r o x y F a c t o r y < T >   m a p p e r P r o x y F a c t o r y   =   ( M a p p e r P r o x y F a c t o r y < T > )   k n o w n M a p p e r s . g e t ( t y p e ) ;         i f   ( m a p p e r P r o x y F a c t o r y   = =   n u l l )   {           t h r o w   n e w   B i n d i n g E x c e p t i o n ( " T y p e   "   +   t y p e   +   "   i s   n o t   k n o w n   t o   t h e   M a p p e r R e g i s t r y . " ) ;       }         t r y   {             / /           r e t u r n   m a p p e r P r o x y F a c t o r y . n e w I n s t a n c e ( s q l S e s s i o n ) ;       }   c a t c h   ( E x c e p t i o n   e )   {             t h r o w   n e w   B i n d i n g E x c e p t i o n ( " E r r o r   g e t t i n g   m a p p e r   i n s t a n c e .   C a u s e :   "   +   e ,   e ) ;       }   }
m a p p e r m a p p e r   m a p p e r M e t h o d . e x e c u t e N o . 7 N o . 7 E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l E x c u t o r s q l s q l m a p p e r   m a p p e r M e t h o d . e x e c u t e ( s q l S e s s i o n ,   a r g s ) p a c k a g e   o r g . a p a c h e . i b a t i s . b i n d i n g ; i m p o r t   j a v a . i o . S e r i a l i z a b l e ; i m p o r t   j a v a . l a n g . r e f l e c t . I n v o c a t i o n H a n d l e r ; i m p o r t   j a v a . l a n g . r e f l e c t . M e t h o d ; i m p o r t j a v a . u t i l . M a p ; i m p o r t   o r g . a p a c h e . i b a t i s . r e f l e c t i o n . E x c e p t i o n U t i l ; i m p o r t   o r g . a p a c h e . i b a t i s . s e s s i o n . S q l S e s s i o n ; / * * *   @ a u t h o r   C l i n t o n   B e g i n *   @ a u t h o r   E d u a r d o   M a c a r r o n * / p u b l i c   c l a s s   M a p p e r P r o x y < T >   i m p l e m e n t s   I n v o c a t i o n H a n d l e r ,   S e r i a l i z a b l e   {     p r i v a t e   s t a t i c   f i n a l   l o n g   s e r i a l V e r s i o n U I D   =   - 6 4 2 4 5 4 0 3 9 8 5 5 9 7 2 9 8 3 8 L ;   p r i v a t e   f i n a l   S q l S e s s i o n   s q l S e s s i o n ;     / / M a p p e r     p r i v a t e   f i n a l   C l a s s < T >   m a p p e r I n t e r f a c e ;         / *         *   M a p p e r M a p p e r M e t h o d ,   m e t h o d C a c h e           * /           p r i v a t e   f i n a l   M a p < M e t h o d ,   M a p p e r M e t h o d >   m e t h o d C a c h e ;     p u b l i c   M a p p e r P r o x y ( S q l S e s s i o n   s q l S e s s i o n ,   C l a s s < T >   m a p p e r I n t e r f a c e , M a p < M e t h o d ,   M a p p e r M e t h o d >   m e t h o d C a c h e )   {         t h i s . s q l S e s s i o n   =   s q l S e s s i o n ;         t h i s . m a p p e r I n t e r f a c e   =   m a p p e r I n t e r f a c e ;         t h i s . m e t h o d C a c h e   = m e t h o d C a c h e ;   }     / / M a p p e r     p u b l i c   O b j e c t   i n v o k e ( O b j e c t   p r o x y ,   M e t h o d   m e t h o d ,   O b j e c t [ ]   a r g s )   t h r o w s   T h r o w a b l e   {         i f   ( O b j e c t . c l a s s . e q u a l s ( m e t h o d . g e t D e c l a r i n g C l a s s ( ) ) )   {   / / O b j e c t t o S t r i n g ( ) , h a s h C o d e ( )           t r y   {                 r e t u r n   m e t h o d . i n v o k e ( t h i s ,   a r g s ) ; / /           }   c a t c h   ( T h r o w a b l e   t )   {                 t h r o w   E x c e p t i o n U t i l . u n w r a p T h r o w a b l e ( t ) ;           }       }         f i n a l   M a p p e r M e t h o d   m a p p e r M e t h o d   =   c a c h e d M a p p e r M e t h o d ( m e t h o d ) ;     / / M a p p e r m a p p e r M e t h o d       r e t u r n   m a p p e r M e t h o d . e x e c u t e ( s q l S e s s i o n ,   a r g s ) ;   }     p r i v a t e   M a p p e r M e t h o d   c a c h e d M a p p e r M e t h o d ( M e t h o d   m e t h o d )   {       M a p p e r M e t h o d   m a p p e r M e t h o d   =   m e t h o d C a c h e . g e t ( m e t h o d ) ;         i f   ( m a p p e r M e t h o d   = =   n u l l )   {           m a p p e r M e t h o d   =   n e w   M a p p e r M e t h o d ( m a p p e r I n t e r f a c e ,   m e t h o d ,   s q l S e s s i o n . g e t C o n f i g u r a t i o n ( ) ) ;           m e t h o d C a c h e . p u t ( m e t h o d ,   m a p p e r M e t h o d ) ;       }         r e t u r n   m a p p e r M e t h o d ;   } }
S q l S e s s i o n   S q l S e s s i o n C R U D s e l e c t L i s t   @ O v e r r i d e   p u b l i c   < E >   L i s t < E >   s e l e c t L i s t ( S t r i n g   s t a t e m e n t ,   O b j e c t   p a r a m e t e r ,   R o w B o u n d s   r o w B o u n d s )   {         t r y   {           M a p p e d S t a t e m e n t   m s   =   c o n f i g u r a t i o n . g e t M a p p e d S t a t e m e n t ( s t a t e m e n t ) ;                 / / C R U D E x c e t o r           r e t u r n   e x e c u t o r . q u e r y ( m s ,   w r a p C o l l e c t i o n ( p a r a m e t e r ) ,   r o w B o u n d s ,   E x e c u t o r . N O _ R E S U L T _ H A N D L E R ) ;       }   c a t c h   ( E x c e p t i o n   e )   {             t h r o w   E x c e p t i o n F a c t o r y . w r a p E x c e p t i o n ( " E r r o r   q u e r y i n g   d a t a b a s e .     C a u s e :   "   +   e ,   e ) ;       }   f i n a l l y   {           E r r o r C o n t e x t . i n s t a n c e ( ) . r e s e t ( ) ;       }   } d o Q u e r y d o Q u e r y S i m p l e E x e c u t o r : S t a t e m e n t H a n d l e r     P r e p a r e d S t a t e m e n t H a n d l e r P r e p a r e d S t a t e m e n t ,   使 / * *     *   C R U D s q l S e s s i o n s q l S e s s i o n     *   @ p a r a m   s q l S e s s i o n     *   @ p a r a m   a r g s     *   @ r e t u r n     * /   p u b l i c   O b j e c t   e x e c u t e ( S q l S e s s i o n   s q l S e s s i o n ,   O b j e c t [ ]   a r g s )   {       O b j e c t   r e s u l t ;         i f   ( S q l C o m m a n d T y p e . I N S E R T   = =   c o m m a n d . g e t T y p e ( ) )   {           O b j e c t   p a r a m   =   m e t h o d . c o n v e r t A r g s T o S q l C o m m a n d P a r a m ( a r g s ) ;           r e s u l t   =   r o w C o u n t R e s u l t ( s q l S e s s i o n . i n s e r t ( c o m m a n d . g e t N a m e ( ) ,   p a r a m ) ) ;       }   e l s e   i f   ( S q l C o m m a n d T y p e . U P D A T E   = =   c o m m a n d . g e t T y p e ( ) )   {           O b j e c t   p a r a m   =   m e t h o d . c o n v e r t A r g s T o S q l C o m m a n d P a r a m ( a r g s ) ;           r e s u l t   =   r o w C o u n t R e s u l t ( s q l S e s s i o n . u p d a t e ( c o m m a n d . g e t N a m e ( ) ,   p a r a m ) ) ;       }   e l s e   i f   ( S q l C o m m a n d T y p e . D E L E T E   = =   c o m m a n d . g e t T y p e ( ) )   {           O b j e c t   p a r a m   =   m e t h o d . c o n v e r t A r g s T o S q l C o m m a n d P a r a m ( a r g s ) ;           r e s u l t   =   r o w C o u n t R e s u l t ( s q l S e s s i o n . d e l e t e ( c o m m a n d . g e t N a m e ( ) ,   p a r a m ) ) ;       }   e l s e   i f   ( S q l C o m m a n d T y p e . S E L E C T   = =   c o m m a n d . g e t T y p e ( ) )   {             i f   ( m e t h o d . r e t u r n s V o i d ( )   & &   m e t h o d . h a s R e s u l t H a n d l e r ( ) )   {               e x e c u t e W i t h R e s u l t H a n d l e r ( s q l S e s s i o n ,   a r g s ) ;               r e s u l t   =   n u l l ;           }   e l s e   i f   ( m e t h o d . r e t u r n s M a n y ( ) )   {               r e s u l t   =   e x e c u t e F o r M a n y ( s q l S e s s i o n ,   a r g s ) ;           }   e l s e   i f   ( m e t h o d . r e t u r n s M a p ( ) )   {               r e s u l t   =   e x e c u t e F o r M a p ( s q l S e s s i o n ,   a r g s ) ;           }   e l s e   {               O b j e c t   p a r a m   =   m e t h o d . c o n v e r t A r g s T o S q l C o m m a n d P a r a m ( a r g s ) ;               r e s u l t   =   s q l S e s s i o n . s e l e c t O n e ( c o m m a n d . g e t N a m e ( ) ,   p a r a m ) ;           }       }   e l s e   {             t h r o w   n e w   B i n d i n g E x c e p t i o n ( " U n k n o w n   e x e c u t i o n   m e t h o d   f o r :   "   +   c o m m a n d . g e t N a m e ( ) ) ;       }         i f   ( r e s u l t   = =   n u l l   & &   m e t h o d . g e t R e t u r n T y p e ( ) . i s P r i m i t i v e ( )   & &   ! m e t h o d . r e t u r n s V o i d ( ) )   {             t h r o w   n e w   B i n d i n g E x c e p t i o n ( " M a p p e r   m e t h o d   ' "   + c o m m a n d . g e t N a m e ( )                     +   "   a t t e m p t e d   t o   r e t u r n   n u l l   f r o m   a   m e t h o d   w i t h   a   p r i m i t i v e   r e t u r n   t y p e   ( "   +   m e t h o d . g e t R e t u r n T y p e ( )   +   " ) . " ) ;       }         r e t u r n   r e s u l t ;   } @ O v e r r i d e   p u b l i c   < E >   L i s t < E >   d o Q u e r y ( M a p p e d S t a t e m e n t   m s ,   O b j e c t   p a r a m e t e r ,   R o w B o u n d s   r o w B o u n d s ,   R e s u l t H a n d l e r   r e s u l t H a n d l e r ,   B o u n d S q l   b o u n d S q l ) t h r o w s   S Q L E x c e p t i o n   {       S t a t e m e n t   s t m t   =   n u l l ;         t r y   {           C o n f i g u r a t i o n   c o n f i g u r a t i o n   =   m s . g e t C o n f i g u r a t i o n ( ) ;                 / / S t a t e m e n t H a n d l e r S t a t e m e n t ,     S t a t e m e n t H a n d l e r             S t a t e m e n t H a n d l e r   h a n d l e r   =   c o n f i g u r a t i o n . n e w S t a t e m e n t H a n d l e r ( w r a p p e r ,   m s ,   p a r a m e t e r ,   r o w B o u n d s ,   r e s u l t H a n d l e r ,   b o u n d S q l ) ;           s t m t   =   p r e p a r e S t a t e m e n t ( h a n d l e r ,   m s . g e t S t a t e m e n t L o g ( ) ) ;             r e t u r n   h a n d l e r . < E > q u e r y ( s t m t ,   r e s u l t H a n d l e r ) ;       }   f i n a l l y   {           c l o s e S t a t e m e n t ( s t m t ) ;       }   }
p u b l i c   < E >   L i s t < E >   q u e r y ( S t a t e m e n t   s t a t e m e n t ,   R e s u l t H a n d l e r   r e s u l t H a n d l e r )   t h r o w s   S Q L E x c e p t i o n   {           / /   P r e p a r e d S t a t e m e n t       P r e p a r e d S t a t e m e n t   p s   =   ( P r e p a r e d S t a t e m e n t )   s t a t e m e n t ;       p s . e x e c u t e ( ) ;         / / R e s u l t S e t H a n d l e r         r e t u r n   r e s u l t S e t H a n d l e r . < E >   h a n d l e R e s u l t S e t s ( p s ) ;   }   s q l N o . 8 N o . 8
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则