-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

MyBatis§Þ³N¤º¹õ

( ²Åé ¦r)
§@ªÌ¡G®}°p©úÃþ§O¡G1. -> µ{¦¡³]­p -> ºî¦X
ĶªÌ¡G
¥Xª©ªÀ¡G¹q¤l¤u·~¥Xª©ªÀMyBatis§Þ³N¤º¹õ 3dWoo®Ñ¸¹¡G 47139
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
NT°â»ù¡G 395 ¤¸

¥Xª©¤é¡G6/1/2017
­¶¼Æ¡G444
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787121317873
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

­±¦V¹ï¶Hµ{§Ç³]­p¬O¥ø·~¯Å¶}µo±`¥Îªº³]­p¤è¦¡¡A¦b¹ê½î¤¤±`¥Îªº½sµ{»y¨¥¤j¦h³£¬O­±¦V¹ï¶Hªº½sµ{»y¨¥¡C¦Ó¦b¹ê»Ú¥Í²£Àô¹Ò¤¤±`¥Îªº¼Æ¾Ú®w²£«~¡A¦pMySQL¡BOracleµ¥¡A³£¬OÃö¨t«¬¼Æ¾Ú®w¡CÁöµMNoSQL¼Æ¾Ú®w¦b³Ìªñ¤@¬q®É¶¡¦³­¸³tªºµo®i¡A¦ý¬OÃö¨t«¬¼Æ¾Ú®w¾Ì­É¦h¦~ªºµo®i©M§Þ³N¿n²Ö¡A¨ÌµM¥e¾ÚµÛ¥«³õªº¥D¾É¦a¦ì¡C
MyBatis§@¬°¤@­ÓÀu¨qªºJava«ù¤[¤Æ®Ø¬[¡A¥i¥HÀ°§Uµ{§Ç­û§¹¦¨ORM¬M®g¡B¬d¸ß½w¦sµ¥±`¥Î¥\¯à¡CMyBatis¥H¨ä°ª©Ê¯à¡B©öÀu¤Æ¡B©öºûÅ@¡B¥iÂX®iµ¥ÀuÂI¡A¨ü¨ì¶V¨Ó¶V¦hªº¶}µo¤H­ûªº«C·ý¡A¤]¦³¶V¨Ó¶V¦hªº³]­p¤H­û¶}©l±NMyBatis§@¬°¨ä­º¿ïªºJava«ù¤[¤Æ®Ø¬[¡C
MyBatis ªº«e¨­¬OApacheªº¤@­Ó¶}·½¶µ¥Ø¡XiBatis¡A2010¦~iBatis¶µ¥Ø¥ÑApache°òª÷·|¾E²¾¨ì¤FGoogle Code¡A¦}¥¿¦¡§ó¦W¬°MyBatis¡C2013¦~11¤ë¡AMyBatis¾E²¾¨ìGithub¡C¥Ø«e¡A¶V¨Ó¶V¦hªº¤¬Ápºô¤½¥q¶}©l¨Ï¥ÎMyBatis¡A¨ä¤¤¥]¬Aºô©ö¡B·jª¯¡BµØ¬°µ¥¡A¨Ì¿àMyBatis·f«Øªº³Ð·~¶µ¥Ø§ó¬O¼Æ¤£³Ó¼Æ¡C
MyBatisªº«GÂI¦³«Ü¦h¡A¤ñ¦pÆF¬¡ªº°ÊºASQL»y¥y¡B±j¤jªºORM¬M®g¥\¯àµ¥¡A¦P®ÉÁÙ´£¨Ñ¤F¤G¯Å½w¦sµ¥±`¥Î¥\¯à¡CMyBatis¦P®É¤ä«ùXML©Mª`¸Ñ¨âºØ°t¸m¤è¦¡¡AÀ°§Uµ{§Ç­û«Ì½ª¤Fªñ¥G©Ò¦³ªºJDBC¥N½X¡B°Ñ¼Æ³]¸m¡Bµ²ªG¶°³B²zµ¥¤u§@¡A·¥¤j¦a´£¤É¤F¶}µo®Ä²v¡C
MyBatis¤¤¦³«Ü¦h¥O¤HºÙÃÙªº¥\¯à©MÀu¨qªº³]­p¡A¦ý¦Ü¤µÁÙ¨S¦³¤@¥»®ÑÄy²`¤J­åªRMyBatisªº¤º³¡³]­p©M¹ê²{²Ó¸`¡A§Æ±æ¥»®Ñªº¥X²{¥i¥H¶ñ¸É¦¹¶µªÅ¥Õ¡C
¥»®Ñ¥HMyBatis 3.4¬°°ò¦¡A°w¹ïMyBatisªº¬[ºc³]­p©M¹ê²{²Ó¸`¶i¦æ¤F¸Ô²Ó¤ÀªR¡A¨ä¤¤¬ï´¡¤¶²Ð¤FMyBatis·½½X¤¤¯A¤Îªº°ò¦ª¾ÃÑ¡B³]­p¼Ò¦¡¥H¤Îµ§ªÌ¦Û¤v¦b¹ê½î¤¤ªº«ä¦Ò¡C°£¦¹¤§¥~¡AÁÙ¤ÀªR¤FMyBatis´¡¥óªºÀ³¥Î³õ´º©M¹ê²{­ì²z¡A¤¶²Ð¤FMyBatis»PSpring¶°¦¨¶}µoªº¥Ü¨Ò©M­ì²z¡A¥H¤Î¤@¨Ç¹ê½î¤¤ªº¤p§Þ¥©©M¤p¤u¨ãªº¨Ï¥Î¡C
¦p¦ó¾\Ū¥»®Ñ
¥Ñ¤_½g´T­­¨î¡A¥»®Ñ¦}¨S¦³¸Ô²Ó¤¶²ÐJavaªº°ò¦ª¾ÃÑ¡A¦ý¬°¤F«K¤_ŪªÌ²z¸ÑMyBatisªº³]­p«ä·Q©M¹ê²{²Ó¸`¡Aµ§ªÌ¤¶²Ð¤F¤@¨Ç¥²»Ý¥B­«­nªº°ò¦¤º®e¡A¨Ò¦p¯A¤Îªº¦hºØ³]­p¼Ò¦¡¡C
¥»®Ñ¦@4³¹¡A¥¦­Ì¤¬¬Û¤§¶¡ªºÁp¨t¦}¤£¬O«Ü±j¡AŪªÌ¥i¥H±qÀY¶}©l¾\Ū¡A¤]¥i¥H¿ï¾Ü¦Û¤v·P¿³½ìªº³¹¸`¶i¦æ¾Ç²ß¡C
²Ä1³¹¬OMyBatisªº§Ö³t¤Jªù¡A¨ä¤¤¤¶²Ð¤FMyBatis¥X²{ªº­I´º¡B»P¨ä¥LJava«ù¤[¤Æ®Ø¬[ªº¤ñ¸û¥H¤ÎMyBatisªº¤Jªù¥Ü¨Ò¡C¤§¦Z¤¶²Ð¤FMyBatisªº¾ãÅé¬[ºc¡A¦}²­z¤FMyBatis¤¤¦U­Ó¼Ò¶ôªº°ò¥»¥\¯à¡C
²Ä2³¹¤¶²ÐMyBatis°ò¦¤ä«ù¼h¤¤¦U­Ó¼Ò¶ôªº¥\¯à¡A¨ä¤¤¥]¬A¼Æ¾Ú·½¼Ò¶ô¡B¨Æ°ÈºÞ²z¼Ò¶ô¡B½w¦s¼Ò¶ô¡Bbinding¼Ò¶ô¡B¤Ï®g¼Ò¶ô¡BÃþ«¬Âà´«¼Ò¶ô¡B¤é§Ó¼Ò¶ô¡B¸ê·½¥[¸ü¼Ò¶ô©M¸ÑªR¾¹¼Ò¶ô¡C³o¨Ç¼Ò¶ô¬Û¹ï¿W¥ß¡AŪªÌ¦b¹ê½î¤¤¦pªG¹J¨ìÃþ¦üªº»Ý¨D¡A¥i¥Hª½±µ°Ñ¦ÒMyBatisªº¹ê²{¡C
²Ä3³¹¤¶²ÐMyBatis®Ö¤ß³B²z¼hªº¥D­n¥\¯à¡A¨ä¤¤¥]¬AMyBatisªì©l¤Æ¹Lµ{¡B°ÊºASQLªº¸ÑªR¹Lµ{¡Bµ²ªG¶°ªº¬M®g­ì²z¡BSQL»y¥yªº°Ñ¼Æ¸j©w¡BKeyGenerator¡BStatementHandler¥H¤ÎExecutorµ¥²Õ¥óªº¹ê²{­ì²z¡C¦P®É¡AÁÙ¤¶²Ð¤FMyBatis±µ¤f¼hªº³]­p­ì²z¡C
²Ä4³¹¤¶²ÐMyBatis´¡¥óªº½s¼g©M°t¸m¤è¦¡¡B¹B¦æ­ì²z¥H¤Î±`¨£ªºÀ³¥Î³õ´º¡A¦}¤ÀªR¤Fµ§ªÌ¦b¹ê½î¤¤¨Ï¥Îªº¤À­¶´¡¥ó©M¤Àªí´¡¥óªº¨ãÅé¹ê²{¡C¤§¦Z¡A¤¶²Ð¤FMyBatis»PSpring¶°¦¨¶}µoªº¬ÛÃö¤º®e¡A·f«Ø¤FSpring 4.3¡BMyBatis 3.4¡BSpring MVCªº¶°¦¨¶}µoÀô¹Ò¡A­åªR¤FMyBatis-Spring¤¤®Ö¤ß²Õ¥óªº¹ê²{­ì²z¡C³Ì¦Z¤¶²Ð¤F¤@¨Ç¦b¨Ï¥ÎMyBatis®É¥Î¨ìªº¤p§Þ¥©©M¤@¨Ç¤p¤u¨ãªº¨Ï¥Î¤èªk¡C
¦b¥»®Ñ¤¤¡A°£¤F¤¶²ÐMyBatisªº¹ê²{²Ó¸`¡AÁÙ¤¶²Ð¤F¨ä¤¤¯A¤Îªº³]­p¼Ò¦¡¡A¥i¥HÀ°§UŪªÌ¤F¸ÑMyBatis·½½X­I¦Zªº³]­p«ä·Q¡C
¦pªGŪªÌ¦b¾\Ū¥»®Ñªº¹Lµ{¤¤¡Aµo²{¥ô¦ó¤£§´¤§³B¡A½Ð±N±zÄ_¶Qªº·N¨£©M«Øijµo°e¨ì¶l½cxxxlxy2008@163.com¡A¤]ÅwªïŪªÌªB¤Í³q¹L¦¹¶l½c»Pµ§ªÌ¶i¦æ¥æ¬y¡C
­PÁÂ
·PÁ¹q¤l¤u·~¥Xª©ªÀ³Õ¤åµøÂIªº³¯¾å²r¦Ñ®v¡A¬O±zªº¨¯¶Ô¤u§@Åý¥»®Ñªº¥Xª©¦¨¬°¥i¯à¡C¦P®ÉÁÙ­n·PÁ³\¦h§Ú¤£ª¾¹D¦W¦rªº¹õ¦Z¤u§@¤H­û¬°¥»®Ñ¥I¥Xªº§V¤O¡C
·PÁ¦¶ºÑ¿o¡BÓï§Ó±j¡B·¨«TÆF¡B§õ¥þ¤~¡B´¿§g¹êµ¥ªB¤Í¦b¦Ê¦£¤§¤¤©â¥X®É¶¡¹ï¥»®Ñ¶i¦æ¼f¾\©M±ÀÂË¡C·PÁ¦̨q©ú¡B´¿¤Ñ¹ç¡B¸¯±l¡B·¨§ü¡B¤åÀR¦t¡B¼B¯E¡B·¨ÄPªL¡B¸ôùÚ¡BÃäּsµ¥¦P¨Æ¡AÀ°§U§Ú¸Ñ¨M¤u§@¤¤ªº§xÃø¡C
³o¨½¯S§O·PÁ¤ý¾|¦Ñ®v¡A¦b³n¥ó¬[ºc¡B³]­p¼Ò¦¡µ¥¤è­±¹ï§Úªº«ü¾É¡C
·PÁ¶¾¥É¥É¡B§õ¦¨°¶¡A¬O§A­ÌÅý¼g§@ªº¹Lµ{Åܱo§®½ì¾î¥Í¡A¬O§A­ÌÅý§Ú§ó¥[¿n·¥¡B¦Û«H¡A¤]¬O§A­Ìªº¹ªÀyÅý§Ú§¹¦¨¤F¥»®Ñªº¼g§@¡C
³Ì¦Z¡A¯S§O·PÁ§ڪº¥À¿Ë¤j¤H¡AÁÂÁ±zÀqÀq¬°§Ú°µ¥XªºÄ묹©M¥I¥X¡A±z¬O§Ú¥Ã»·ªº¤k¯«¡C

®}°p©ú
¤º®e²¤¶¡G

¥»®Ñ¥HMyBatis 3.4¬°°ò¦¡A°w¹ïMyBatisªº¬[ºc³]­p©M¹ê²{²Ó¸`¶i¦æ¤F¸Ô²Ó¤ÀªR¡A¨ä¤¤¬ï´¡¤¶²Ð¤FMyBatis·½½X¤¤¯A¤Îªº°ò¦ª¾ÃÑ¡B³]­p¼Ò¦¡¥H¤Îµ§ªÌ¦Û¤v¦b¹ê½î¤¤ªº«ä¦Ò¡C¥»®Ñ¦@4³¹¡A±qMyBatis§Ö³t¤Jªù¶}©l¡A³v¨B¤ÀªR¤FMyBatisªº¾ãÅé¬[ºc¥H¤Î®Ö¤ß·§©À¡A¹ïMyBatisªº°ò¦¤ä«ù¼h¡B®Ö¤ß³B²z¼h¤¤¦U­Ó¼Ò¶ôªº¥\¯à©M¹ê²{²Ó¸`¶i¦æ¤F²`¤Jªº­åªR¡C°£¦¹¤§¥~¡AÁÙ¤ÀªR¤FMyBatis´¡¥óªºÀ³¥Î³õ´º©M¹ê²{­ì²z¡A¤¶²Ð¤FMyBatis»PSpring¶°¦¨¶}µoªº¥Ü¨Ò©M­ì²z¡A¥H¤Î¤@¨Ç¹ê½î¤¤ªº¤p§Þ¥©©M¤p¤u¨ãªº¨Ï¥Î¤èªk¡C¥»®Ñ¦®¦b¬°ÅªªÌ²z¸ÑMyBatisªº³]­p­ì²z¡B¾\ŪMyBatis·½½X¡BÂX®iMyBatis¥\¯à´£¨ÑÀ°§U©M«ü¾É¡AÅýŪªÌ§ó¥[²`¤J¦a¤F¸ÑMyBatisªº¹B¦æ­ì²z¡B³]­p²z©À¡C§Æ±æ¥»®Ñ¯à°÷À°§UŪªÌ¥þ­±´£¤É¦Û¨­ªº§Þ³N¯à¤O¡AÅýŪªÌ¦b³]­p·~°È¨t²Î®É¡A¥i¥H°Ñ¦ÒMyBatisªºÀu¨q³]­p¡A§ó¦n¦aÀ³¥ÎMyBatis¡C

¥Ø¿ý¡G

²Ä1³¹¡@MyBatis§Ö³t¤Jªù
1.1¡@ORM²¤¶
1.2¡@±`¨£«ù¤[¤Æ®Ø¬[
1.3¡@MyBatis¥Ü¨Ò
1.4¡@MyBatis¾ãÅé¬[ºc
1.4.1¡@°ò¦¤ä«ù¼h
1.4.2¡@®Ö¤ß³B²z¼h
1.4.3¡@±µ¤f¼h
1.5¡@¥»³¹¤pµ²
²Ä2³¹¡@°ò¦¤ä«ù¼h
2.1¡@¸ÑªR¾¹¼Ò¶ô
2.1.1¡@XPath²¤¶
2.1.2¡@XPathParser
2.2¡@¤Ï®g¤u¨ã½c
2.2.1¡@Reflector¡®ReflectorFactory
2.2.2¡@TypeParameterResolver
2.2.3¡@ObjectFactory
2.2.4¡@Property¤u¨ã¶°
2.2.5¡@MetaClass
2.2.6¡@ObjectWrapper
2.2.7¡@MetaObject
2.3¡@Ãþ«¬Âà´«
2.3.1¡@TypeHandler
2.3.2¡@TypeHandlerRegistry
2.3.3¡@TypeAliasRegistry
2.4¡@¤é§Ó¼Ò¶ô
2.4.1¡@¾A°t¾¹¼Ò¦¡
2.4.2¡@¤é§Ó¾A°t¾¹
2.4.3¡@¥N²z¼Ò¦¡»PJDK°ÊºA¥N²z
2.4.4¡@JDBC½Õ¸Õ
2.5¡@¸ê·½¥[¸ü
2.5.1¡@Ãþ¥[¸ü¾¹Â²¤¶
2.5.2¡@ClassLoaderWrapper
2.5.3¡@ResolverUtil
2.5.4¡@³æ¨Ò¼Ò¦¡
2.5.5¡@VFS
2.6¡@DataSource
2.6.1¡@¤u¼t¤èªk¼Ò¦¡
2.6.2¡@DataSourceFactory
2.6.3¡@UnpooledDataSource
2.6.4¡@PooledDataSource
2.7¡@Transaction
2.8¡@binding¼Ò¶ô
2.8.1¡@MapperRegistry¡®MapperProxyFactory
2.8.2¡@MapperProxy
2.8.3¡@MapperMethod
2.9¡@½w¦s¼Ò¶ô
2.9.1¡@¸Ë¹¢¾¹¼Ò¦¡
2.9.2¡@Cache±µ¤f¤Î¨ä¹ê²{
2.9.3¡@CacheKey
2.10¡@¥»³¹¤pµ²
²Ä3³¹¡@®Ö¤ß³B²z¼h
3.1¡@MyBatisªì©l¤Æ
3.1.1¡@«Ø³yªÌ¼Ò¦¡
3.1.2¡@BaseBuilder
3.1.3¡@XMLConfigBuilder
3.1.4¡@XMLMapperBuilder
3.1.5¡@XMLStatementBuilder
3.1.6¡@¸j©wMapper±µ¤f
3.1.7¡@³B²zincomplete*¶°¦X
3.2¡@SqlNode¡®SqlSource
3.2.1¡@²Õ¦X¼Ò¦¡
3.2.2¡@OGNLªí¹F¦¡Â²¤¶
3.2.3¡@DynamicContext
3.2.4¡@SqlNode
3.2.5¡@SqlSourceBuilder
3.2.6¡@DynamicSqlSource
3.2.7¡@RawSqlSource
3.3¡@ResultSetHandler
3.3.1¡@handleResultSets()¤èªk
3.3.2¡@ResultSetWrapper
3.3.3¡@²³æ¬M®g
3.3.4¡@´O®M¬M®g
3.3.5¡@´O®M¬d¸ß¡®©µ¿ð¥[¸ü
3.3.6¡@¦hµ²ªG¶°³B²z
3.3.7¡@´å¼Ð
3.3.8¡@¿é¥XÃþ«¬ªº°Ñ¼Æ
3.4¡@KeyGenerator
3.4.1¡@Jdbc3KeyGenerator
3.4.2¡@SelectkeyGenerator
3.5¡@StatementHandler
3.5.1¡@RoutingStatementHandler
3.5.2¡@BaseStatementHandler
3.5.3¡@ParameterHandler
3.5.4¡@SimpleStatementHandler
3.5.5¡@PreparedStatementHandler
3.6¡@Executor
3.6.1¡@¼ÒªO¤èªk¼Ò¦¡
3.6.2¡@BaseExecutor
3.6.3¡@SimpleExecutor
3.6.4¡@ReuseExecutor
3.6.5¡@BatchExecutor
3.6.6¡@CachingExecutor
3.7¡@±µ¤f¼h
3.7.1¡@µ¦²¤¼Ò¦¡
3.7.2¡@SqlSession
3.7.3¡@DefaultSqlSessionFactory
3.7.4¡@SqlSessionManager
3.8¡@¥»³¹¤pµ²
²Ä4³¹¡@°ª¯Å¥DÃD
4.1¡@´¡¥ó¼Ò¶ô
4.1.1¡@³d¥ôÃì¼Ò¦¡
4.1.2¡@Interceptor
4.1.3¡@À³¥Î³õ´º¤ÀªR
4.2¡@MyBatis»PSpring¶°¦¨
4.2.1¡@Spring°ò¥»·§©À
4.2.2¡@Spring MVC¤¶²Ð
4.2.3¡@¶°¦¨Àô¹Ò·f«Ø
4.2.4 Mybatis-Spring­åªR
4.3¡@¬B¿ò
4.3.1¡@À³¥Î¡Õsql¡Ö¸`ÂI
4.3.2¡@OgnlUtils¤u¨ãÃþ
4.3.3¡@SQL»y¥y¥Í¦¨¾¹
4.3.4¡@°ÊºASQL¸}¥»´¡¥ó
4.3.5¡@MyBatis-Generator°f¦V¤uµ{
4.4¡@¥»³¹¤pµ²
§Ç¡G