锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久国产精品亚洲一区,亚洲精品无码精品mV在线观看,亚洲天堂一区在线http://www.tkk7.com/alexprefect/category/51264.htmlzh-cnSat, 31 Mar 2012 00:36:29 GMTSat, 31 Mar 2012 00:36:29 GMT60Mybatis SQL鏄犲皠鏂囦歡錛堣漿杞斤級http://www.tkk7.com/alexprefect/articles/372968.htmlalexprefectalexprefectThu, 29 Mar 2012 03:08:00 GMThttp://www.tkk7.com/alexprefect/articles/372968.htmlhttp://www.tkk7.com/alexprefect/comments/372968.htmlhttp://www.tkk7.com/alexprefect/articles/372968.html#Feedback0http://www.tkk7.com/alexprefect/comments/commentRss/372968.htmlhttp://www.tkk7.com/alexprefect/services/trackbacks/372968.html鍓嶉潰瀛︿範鐨勯兘鏄竴浜涢厤緗紝mybatis鐨勭簿鍗庝篃灝遍泦涓湪SQL鐨勬槧灝勬枃浠朵笂錛岀浉姣斿疄鐜扮浉鍚屽姛鑳界殑jdbc浠g爜錛岃妭綰︿簡95%鐨勪唬鐮侀噺銆?/p>


<!-- 閰嶇疆緇欏畾鍛藉悕絀洪棿鐨勭紦瀛?-->
<cache></cache>

<!-- 浠庡叾浠栧懡鍚嶇┖闂村紩鐢ㄧ紦瀛橀厤緗?-->
<cache-ref namespace="" />

<!-- 鎻忚堪濡備綍灝哾b涓煡璇㈢殑緇撴灉闆嗗姞杞芥垚瀵硅薄 -->
<resultMap type="" id="">
<constructor>
<idArg />
<arg />
<arg />
<arg />
</constructor>
</resultMap>

<!-- 瀹氫箟鍙噸鐢ㄧ殑sql璇彞 -->
<sql id=""></sql>

<!-- 鏄犲皠dml璇彞 -->
<insert id=""></insert>
<select id=""></select>
<update id=""></update>
<delete id=""></delete>



涓銆乻elect鍙互鍙互璇存槸浣跨敤鏈澶氱殑鍏冪礌錛屼嬌鐢ㄤ篃寰堢畝鍗?/p>

 

  1. <select id="getUserById" parameterType="int" resultType="User"> 
  2.     select * from tbl_user where id = #{id} 
  3. </select> 

< select>鍏冪礌涓殑涓浜涘睘鎬?綰㈣壊涓虹敤鐨勮緝澶氱殑灞炴?

 

id 鍦ㄥ懡鍚嶇┖闂翠腑鍞竴鐨勬爣璇嗙錛屽彲浠ヨ鐢ㄦ潵寮曠敤榪欐潯璇彞
parameterType灝嗕細浼犲叆榪欐潯璇彞鐨勫弬鏁扮被鐨勫畬鍏ㄩ檺瀹氬悕鎴栧埆鍚嶃?/td>
resultType 浠庤繖鏉¤鍙ヤ腑榪斿洖鐨勬湡鏈涚被鍨嬬殑綾葷殑瀹屽叏闄愬畾鍚嶆垨鍒悕銆?br />鎰忛泦鍚堟儏褰紝閭e簲璇ユ槸闆嗗悎鍙互鍖呭惈鐨勭被鍨嬶紝
鑰屼笉鑳芥槸闆嗗悎鏈韓銆備嬌鐢?resultType鎴?resultMap錛?br />浣嗕笉鑳藉悓鏃朵嬌鐢?/span>銆傦紙鍙互鏄熀鏈被鍨媔nt絳夛紝
澶嶅悎綾誨瀷User錛岄泦鍚堢被鍨媘ap,list絳夛級
resultMap 鍛藉悕寮曠敤澶栭儴鐨剅esultMap銆傝繑鍥瀖ap鏄疢yBat is
鏈鍏峰姏閲忕殑鐗規э紝瀵瑰叾鏈変竴涓緢濂界殑鐞嗚В鐨勮瘽錛?br />澶氬鏉傛槧灝勭殑鎯呭艦灝辮兘琚В鍐充簡銆?br />浣跨敤 resultMap 鎴杛esultType錛屼絾涓嶈兘鍚屾椂浣跨敤銆?/td>
flushCache 灝嗗叾璁劇疆涓?true錛屼笉璁鴻鍙ヤ粈涔堟椂鍊欒甯﹀摝鐢紝
閮戒細瀵艱嚧緙撳瓨琚竻絀恒傞粯璁ゅ鹼細false
useCache 灝嗗叾璁劇疆涓?true錛屽皢浼氬鑷存湰鏉¤鍙ョ殑緇撴灉琚紦瀛樸?br />榛樿鍊鹼細true
timeout  榪欎釜璁劇疆椹卞姩紼嬪簭絳夊緟鏁版嵁搴撹繑鍥炶姹傜粨鏋滐紝騫舵姏鍑?br />寮傚父鏃墮棿鐨勬渶澶х瓑寰呭箋傞粯璁や笉璁劇疆錛堥┍鍔ㄨ嚜琛屽鐞嗭級
fetchSize 榪欐槸鏆楃ず椹卞姩紼嬪簭姣忔鎵歸噺榪斿洖鐨勭粨鏋滆鏁般?br />榛樿涓嶈緗紙椹卞姩鑷澶勭悊錛?/td>
statementType STATEMENT,PREPARED 鎴?CALLABLE 鐨勪竴縐嶃?br />榪欎細璁?MyBat is浣跨敤閫夋嫨浣跨敤
Statement錛孭reparedStatement鎴?CallableStatement銆?br />榛樿鍊鹼細PREPARED銆?/td>
resultSetTypeFORWARD_ONLY錛?br />SCROLL_SENSITIVE錛?br />SCROLL_INSENSITIVE涓殑涓縐嶃?br />榛樿鏄笉璁劇疆錛堥┍鍔ㄨ嚜琛屽鐞嗭級

 

浜屻乮nsert鎻掑叆鏁版嵁搴擄紝榪涜鎻掑叆鎿嶄綔鏃朵富瑕佹槸瑕佹嬁鍒版彃鍏ユ暟鎹嚜澧炵殑涓婚敭

id 鍦ㄥ懡鍚嶇┖闂翠腑鍞竴鐨勬爣璇嗙錛屽彲浠ヨ鐢ㄦ潵寮曠敤榪欐潯璇彞銆?/td>
parameterType
灝嗕細浼犲叆榪欐潯璇彞鐨勫弬鏁扮被鐨勫畬鍏ㄩ檺瀹氬悕鎴栧埆鍚?/td>
flushCache 灝嗗叾璁劇疆涓?true錛屼笉璁鴻鍙ヤ粈涔堟椂鍊欒甯﹀摝鐢紝閮戒細瀵艱嚧緙撳瓨琚竻絀恒傞粯璁ゅ鹼細false銆?/td>
timeout榪欎釜璁劇疆椹卞姩紼嬪簭絳夊緟鏁版嵁搴撹繑鍥炶姹傜粨鏋滐紝騫舵姏鍑哄紓甯告椂闂寸殑鏈澶х瓑寰呭箋?br />榛樿涓嶈緗紙椹卞姩鑷澶勭悊錛夈?
statementTypeSTATEMENT,PREPARED 鎴?CALLABLE 鐨勪竴縐嶃傝繖浼氳 MyBat is浣跨敤閫夋嫨浣跨敤
Statement錛孭reparedStatement 鎴?CallableStatement銆傞粯璁ゅ鹼細PREPARED銆?
useGeneratedKeys錛?span style="color: rgb(255, 0, 0);">浠呭 insert 鏈?鐢?/span> 錛?榪?浼?鍛?璇?MyBat is 浣跨敤 JDBC 鐨刧etGeneratedKeys 鏂規硶鏉ュ彇鍑虹敱鏁版嵁錛堟瘮濡傦細鍍?MySQL 鍜?SQL Server 榪欐牱鐨勬暟鎹簱綆$悊緋葷粺鐨勮嚜鍔ㄩ掑瀛楁錛夊唴閮ㄧ敓鎴愮殑涓婚敭銆傞粯璁ゅ鹼細false銆?/td>
keyProperty錛?span style="color: rgb(255, 0, 0);">浠呭insert鏈夌敤錛?鏍囪涓涓睘鎬э紝 MyBat is浼氶氳繃getGeneratedKeys鎴栬呴氳繃 insert 璇彞鐨剆electKey 瀛愬厓绱犺緗畠鐨勫箋傞粯璁わ細涓嶈緗?/td>

 

鍦ㄨ繘琛宨nsert錛寀pdate,delete涔嬪悗session瑕佽繘琛宑ommit鎿嶄綔錛屼笉鐒舵暟鎹簱涓嶄細鏇存柊鍒版暟鎹簱

insert鐨凞emo

鍙︿竴縐嶈幏鍙栦富閿殑鏂規硶

  1. <insert id="addUserLastId" parameterType="User"> 
  2.     <selectKey resultType="int" order="AFTER" keyProperty="id"> 
  3.         SELECT LAST_INSERT_ID() AS id 
  4.     </selectKey> 
  5.     insert into tbl_user(name,age) values(#{name},#{age}) 
  6. </insert> 


 


  1. <insert id="addUser" parameterType="User" keyProperty="id" useGeneratedKeys="true" > 
  2.     insert into tbl_user(name,age) values(#{name},#{age}) 
  3. </insert> 
  1. @Test 
  2. public void testInsert() throws IOException { 
  3.     UserMapper mapper = session.getMapper(UserMapper.class) ;  
  4.     User user = new User() ; 
  5.     user.setName("zhangss") ; 
  6.     user.setAge(22) ; 
  7.     int i = mapper.addUser(user) ; 
  8.     session.commit() ; 
  9.     session.close() ; 
  10.     System.out.println("id:"+i+"--"+user.getId()); 


update鐨凞emo

 

  1. <update id="updateUser" parameterType="User"> 
  2.     update tbl_user set name = #{name} ,age = #{age} where id = #{id} 
  3. </update> 

  1. @Test 
  2. public void testUpdate(){ 
  3.     UserMapper mapper = session.getMapper(UserMapper.class) ;  
  4.     User user = new User() ; 
  5.     user.setId(27) ; 
  6.     user.setName("zhang27") ; 
  7.     user.setAge(227) ; 
  8.     int i = mapper.updateUser(user) ; 
  9.     session.commit() ; 
  10.     session.close() ; 
  11.     System.out.println("id:"+i+"--"+user.getId()); 


涓夈乻ql瀹氫箟鍙噸鐢ㄧ殑sql璇彞

  1. <sql id="selectItem">id,name,age</sql> 

 


  1. <select id="getUserById" parameterType="int" resultType="User"> 
  2.      
  3.     <!--
  4.     select * from tbl_user where id = #{id}
  5.      --> 
  6.      select <include refid="selectItem"/> from tbl_user where id = #{id} 
  7. </select> 


鍥涖丳arameter


#{department, mode=OUT, jdbcType=CURSOR, javaType=ResultSet,resultMap=departmentResultMap}


 

浜斻乺esultMap鎵鍋氱殑宸ヤ綔灝辨槸灝嗕粠鏁版嵁搴撲腑鑾峰彇鐨凴esultSet緇撴灉闆嗘斁鍏ユ寚瀹氱殑瀵硅薄涓紝閬垮厤澶ч噺鐨剆etter getter浠g爜錛屽疄鐜拌嚜鍔ㄨ閰嶇殑鍔熻兘錛屽疄鐜扮粨鏋滅殑鏄犲皠


1銆佺畝鍗曟槧灝?/p>

  1. <select id=”selectUsers” parameterType=”int” resultType=”hashmap”>  
  2.     select id, username, hashedPassword from some_table where id = #{id}  
  3. </select>  

鎵鏈夊垪琚嚜鍔ㄦ槧灝勫埌 HashMap 鐨勯敭涓婏紝key涓哄垪鍚嶏紝value涓烘暟鎹簱涓殑鏁版嵁

 


  1. <select id=”selectUsers” parameterType=”int” resultType=”com.someapp.model.User”>  
  2.     select id, username, hashedPassword from some_table where id = #{id}  
  3. </select>  

灝嗘墍鏈変粠鏁版嵁搴撲腑鍙栧緱鏁版嵁鑷姩瑁呴厤鍒癑avaBean涓紝濡傛灉鍒楀悕涓庡睘鎬у悕鐩稿悓錛屽垯鏃犻渶浣滀換鍔$殑騫查鍗沖彲瀹屾垚瑁呴厤銆?p> 

濡傛灉鏁版嵁搴撲腑鐨勫垪鍚嶄笌javabean鐨勫睘鎬у悕縐頒笉鍚屽彲浠ュ湪鏌ヨ鐨勬椂鍊欏彇鍒悕錛屽

  1. <select id=”selectUsers” parameterType=”int” resultType=”User”>  
  2.     select user_id as “id”, user_name as “userName”, hashed_password as “hashedPassword”  from some_table where id = #{id}  
  3. </select>  

涔熷彲浠ヤ嬌鐢╮esultMap榪涜鏄犲皠鐨勬寚瀹?p> 

  1. <resultMap id="userResultMap" type="User">  
  2.     <id property="id" column="user_id" />  
  3.     <result property="username" column="username"/>  
  4.     <result property="password" column="password"/>  
  5. </resultMap>  
  6.  
  7. <select id=”selectUsers” parameterType=”int”  resultMap=”userResultMap”>  
  8.     select user_id, user_name, hashed_password from some_table where id = #{id}  
  9. </select>  


 

2銆乺esultMap楂樼駭鏄犲皠




]]>
Mybatis 閰嶇疆鏂囦歡錛堣漿杞斤級http://www.tkk7.com/alexprefect/articles/372967.htmlalexprefectalexprefectThu, 29 Mar 2012 03:07:00 GMThttp://www.tkk7.com/alexprefect/articles/372967.htmlhttp://www.tkk7.com/alexprefect/comments/372967.htmlhttp://www.tkk7.com/alexprefect/articles/372967.html#Feedback0http://www.tkk7.com/alexprefect/comments/commentRss/372967.htmlhttp://www.tkk7.com/alexprefect/services/trackbacks/372967.html榪欑瘒鏂囩珷瀛︿範鐨勬槸mybatis鐨勪富閰嶇疆鏂囦歡Configuration.xml錛岃繖涓厤緗枃浠朵富瑕侀厤緗竴浜涘叏灞鐨勫睘鎬э紝濡傛暟鎹簱鐨勮繛鎺ワ紝綾葷殑鍒悕錛屼笉鍚岀殑

鍦烘櫙榪愯涓嶅悓鐨勯厤緗瓑絳夈?/p>


涓銆丆onfiguration.xml涓彲浠ラ厤緗殑鎵鏈夊唴瀹?/p>


configuration 閰嶇疆
properties 灞炴?/td>
settings 璁劇疆
typeAliases 綾誨瀷鍛藉悕
typeHandlers 綾誨瀷澶勭悊鍣?
objectFactory 瀵硅薄宸ュ巶
plugins 鎻掍歡
environments 鐜
environment 鐜鍙橀噺
transactionManager 浜嬪姟綆$悊鍣?
dataSource 鏁版嵁婧?
鏄犲皠鍣?/span>

 



浜屻丳roperties鏍囩

鍙互鐢ㄦ潵寮曠敤澶栭儴鐨勫睘鎬ф枃浠惰繘琛岄厤緗紝姣斿鎵鏈夌殑閰嶇疆閮藉湪涓涓猠as.properties涓厤緗紝鍙渶瑕佸湪properties涓厤緗竴嬈★紝灝卞彲浠ュ仛鍒頒竴嬈¢厤緗埌澶勫紩鐢ㄣ?/p>

濡傜幇鍦ㄩ厤緗竴涓猠as.properties

 

  1. #db config 
  2. db.driver:com.sybase.jdbc3.jdbc.SybDriver 
  3. db.url:jdbc:sybase:Tds:192.168.2.143:2678/SMM_win2k8_portal 
  4. db.username:dba 
  5. db.password:smmsql 
  6.  
  7. #server config 
  8. server.url:http://192.168.2.101:8080/EAS 

鍦╟onfiguration.xml涓灞炴ф枃浠朵腑鐨勫艱繘琛屽紩鐢?p> 

 

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
  3. "http://mybatis.org/dtd/mybatis-3-config.dtd"> 
  4. <configuration> 
  5.     <properties resource="eas.properties" /> 
  6.      
  7.     <environments default="development"> 
  8.         <environment id="development"> 
  9.             <transactionManager type="JDBC"/> 
  10.             <dataSource type="POOLED"> 
  11.                 <property name="driver" value="${db.driver}"/> 
  12.                 <property name="url" value="${db.url}"/> 
  13.                 <property name="username" value="${db.username}"/> 
  14.                 <property name="password" value="${db.password}"/> 
  15.             </dataSource> 
  16.         </environment> 
  17.     </environments> 
  18. </configuration> 


 

涓夈丼etteing鏍囩錛屽mybatis鐨勪竴浜涜涓鴻繘琛岃緗?/p>



閰嶇疆

<settings>
<setting name="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="multipleResultSetsEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="false"/>
<setting name="enhancementEnabled" value="false"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="defaultStatementTimeout" value="25000"/>
< /settings>


鍥涖乼ypeAliases 涓轟竴綾昏緗埆鍚嶏紝鏂逛究涔﹀啓


  1. <typeAliases> 
  2.     <!-- simple alias for full class name --> 
  3.     <typeAlias alias="App" type="com.justsy.eas.domain.App"/> 
  4.     <typeAlias alias="Content" type="com.justsy.eas.domain.Content"/> 
  5.     <typeAlias alias="AppDevice" type="com.justsy.eas.domain.AppDevice"/> 
  6.     <typeAlias alias="ListApp" type="com.justsy.eas.http.domain.ListApp"/> 
  7.     <typeAlias alias="ClientApp" type="com.justsy.eas.http.domain.ClientApp"/> 
  8. </typeAliases> 

java 涓竴浜涚畝鍗曠被鍨嬬殑鍒悕

 

鍒悕  鏄犲皠鐨勭被鍨?
_byte  byte
_long  long
_short  short
_int   int 
_integer   int 
_double  double
_float   float 
_boolean  boolean
string  String
byte  Byte
long  Long
short  Short
int   Integer
integer   Integer
double  Double
float   Float 
boolean  Boolean
date  Date
decimal  BigDecimal
bigdecimal  BigDecimal
object  Object
map  Map
hashmap  HashMap
list  List 
arraylist  ArrayList
collection  Collection
iterator  Iterator


浜斻乼ypeHandlers 鐨勪綔鐢ㄦ槸灝咼ava綾誨瀷涓庢暟鎹簱涓被鍨嬭繘琛屽尮閰嶏紝鍦╯tatement璁懼煎拰ResultSet媯绱㈠兼椂鍙互姝g‘鐨勮漿鎹紝鍙互瀹炵幇TypeHandler鎺ュ彛瀹炵幇鑷繁鐨勭被鍨嬪鐞嗗櫒銆俶ybatis涓唴寤虹殑綾誨瀷澶勭悊鍣?Type Handler )



鍏丱bjectFactory    姣忔鍒涘緩鏂扮殑緇撴灉瀵硅薄鏄皟鐢ㄨ繖涓狾bjectFactory鐨勫璞℃潵榪涜鍒涘緩錛屽畠浼氭瘮鐩存帴璋冪敤鏋勯犲嚱鏁板垱寤哄璞″仛鏇村鐨勫伐浣?/p>


涓冦乸lugins涓昏鐢ㄦ潵瀹炵幇鎷︽埅鍣ㄧ殑鍔熻兘錛屼嬌鐢ㄥ埌浜嗗姩鎬佷唬鐞嗭紝鍙互鎸囧畾鍦ㄦ煇浜涙搷浣滄椂鎵ц涓浜涙嫤鎴搷浣滐紝姣斿鍦ㄤ竴鏉¤褰曟彃鍏ユ暟鎹簱涔嬪墠鍐欏叆涓鏉℃棩蹇楋紝鎴栨煡璇竴涓?/p>

鏉冮檺絳夌瓑

飦?nbsp; Executor
(update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
飦?nbsp; ParameterHandler 
(getParameterObject, setParameters)
飦?nbsp; ResultSetHandler 
(handleResultSets, handleOutputParameters)
飦?nbsp; StatementHandler 
(prepare, parameterize, batch, update, query)


 

  1. // ExamplePlugin.java 
  2. @Intercepts({ @Signature(type = Executor.class, method = "update", args = { MappedStatement.class, Object.class }) }) 
  3. public class ExamplePlugin implements Interceptor { 
  4.     public Object intercept(Invocation invocation) throws Throwable { 
  5.         return invocation.proceed(); 
  6.     } 
  7.  
  8.     public Object plugin(Object target) { 
  9.         return Plugin.wrap(target, this); 
  10.     } 
  11.  
  12.     public void setProperties(Properties properties) { 
  13.     } 

  1. <plugins>  
  2.   <plugin interceptor="org.mybatis.example.ExamplePlugin">  
  3.     <property name="someProperty" value="100"/>  
  4.   </plugin>  
  5. </plugins>  

灝變細鍦ㄦ墍鏈夋墽琛寀pdate鍔ㄤ綔涔嬪墠榪涜鎷︽埅錛屾墽琛孍xamplePlugin涓嚜瀹氫箟鐨勪竴浜涢昏緫

 

瀵箂elect榪涜鎷︽埅鐨刾lugin

 

  1. import org.apache.ibatis.session.ResultHandler; 
  2. import org.apache.ibatis.session.RowBounds; 
  3.  
  4. @Intercepts({ @Signature(args = { MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class }, method = "query", type = Executor.class) }) 
  5. public class LogInterceptor implements Interceptor { 
  6.  
  7.     int index; 
  8.  
  9.     @Override 
  10.     public Object intercept(Invocation invocation) throws Throwable { 
  11.         System.out.println("some log!!!"); 
  12.         return invocation.proceed(); 
  13.     } 
  14.  
  15.     @Override 
  16.     public Object plugin(Object target) { 
  17.         System.out.println("1223--------------" + (index++)); 
  18.         return Plugin.wrap(target, this); 
  19.     } 
  20.  
  21.     @Override 
  22.     public void setProperties(Properties properties) { 
  23.  
  24.     } 

  1. <plugins> 
  2.     <plugin interceptor="com.akwolf.interceptor.LogInterceptor"> 
  3.     </plugin> 
  4.    </plugins> 


 

鍏乪nvironments 瀵逛簬涓涓簲鐢ㄥ彲鑳借繛鎺ュ涓暟鎹簱錛岄偅灝遍渶瑕侀厤緗笉鍚岀殑鐜鏉ヨ繛鎺ヤ笉鍚岀殑鏁版嵁搴擄紝姣忎竴涓猄qlSessionFactory瀵瑰簲涓涓猠nvironments

涔熷彲浠ヨ緗笉鍚岀殑鐜搴旂敤浜庡紑鍙戞垨嫻嬭瘯鐨勭幆澧?/p>

濡傛灉鐜琚拷鐣ワ紝閭d箞榛樿鐜灝嗕細琚姞杞斤紝涔熷氨鏄痙efault="development"鐨勪綔鐢ㄤ簡


涔濄乼ransactionManager璁劇疆浜嬬墿鐨勭鐞嗙被鍨嬫槸 type=”[JDBC|MANAGED]”

JDBC浣跨敤datasource鐨勮繛鎺ユ潵綆$悊浜嬬墿鑼冨洿銆?/p>

MANAGED鑷繁涓嶈繘琛屼簨鐗╃殑鎻愪氦鍜屽洖婊氾紝渚濋潬瀹瑰櫒鏉ョ鐞嗕簨鐗╋紝璁劇疆closeConnection涓篺alse錛屽彇娑堣嚜鍔ㄥ叧闂繛鎺?/p>

 

  1. <transactionManager type="MANAGED">  
  2.     <property name="closeConnection" value="false"/>  
  3. </transactionManager>  

鍗併乨ataSource璁劇疆鏁版嵁婧怺UNPOOLED|POOLED|JNDI]

 

POOLED:姣忔琚姹傛椂綆鍗曟墦寮鍜屽叧闂繛鎺?br />

POOLED:JDBC 榪炴帴瀵硅薄鐨勬暟鎹簮榪炴帴姹犵殑瀹炵幇錛岀敤鏉ラ伩鍏嶅垱寤烘柊鐨勮繛鎺ュ疄渚嬫椂蹇呰鐨勫垵濮嬭繛鎺ュ拰璁よ瘉鏃墮棿銆?br />

poolMaximumActiveConnections –  鍦ㄤ換鎰忔椂闂村瓨鍦ㄧ殑媧誨姩錛堜篃灝辨槸姝e湪浣跨敤錛夎繛鎺ョ殑鏁伴噺銆傞粯璁ゅ鹼細10

poolMaximumIdleConnections –  浠繪剰鏃墮棿瀛樺湪鐨勭┖闂茶繛鎺ユ暟銆?/span>

oolMaximumCheckoutTime –  鍦ㄨ寮哄埗榪斿洖涔嬪墠錛屾睜涓繛鎺ヨ媯鏌ョ殑鏃墮棿銆傞粯璁ゅ鹼細20000 姣錛堜篃灝辨槸 20 縐掞級

poolTimeToWait  –  榪欐槸緇欒繛鎺ユ睜涓涓墦鍗版棩蹇楃姸鎬佹満浼氱殑浣庡眰嬈¤緗紝榪樻湁閲嶆柊灝濊瘯鑾峰緱榪炴帴錛岃繖浜涙儏鍐典笅寰寰闇瑕佸緢闀挎椂闂達紙涓轟簡閬垮厤榪炴帴姹犳病鏈夐厤緗椂闈欓粯澶辮觸錛夈?榛樿鍊鹼細20000 姣錛堜篃灝辨槸 20 縐掞級

poolPingQuery –  鍙戦佸埌鏁版嵁鐨勪睛嫻嬫煡璇紝鐢ㄦ潵楠岃瘉榪炴帴鏄惁姝e父宸ヤ綔錛屽茍涓斿噯澶囨帴鍙楄姹傘傞粯璁ゆ槸“NO PING QUERY SET”錛岃繖浼氬紩璧瘋澶氭暟鎹簱椹卞姩榪炴帴鐢變竴涓敊璇俊 鎭屽鑷村け璐ャ?

poolPingEnabled  –  榪欐槸寮鍚垨紱佺敤渚︽祴鏌ヨ銆傚鏋滃紑鍚紝浣犲繀欏葷敤涓涓悎娉曠殑SQL璇彞錛堟渶濂芥槸寰堝揩閫熺殑錛夎緗?poolPingQuery 灞炴с傞粯璁ゅ鹼細false銆?/span>

poolPingConnectionsNotUsedFor  –  榪欐槸鐢ㄦ潵閰嶇疆 poolPingQuery 澶氭鏃墮棿琚敤涓嬈°傝繖鍙互琚緗尮閰嶆爣鍑嗙殑鏁版嵁搴撹繛鎺ヨ秴鏃舵椂闂達紝鏉ラ伩鍏嶄笉蹇呰鐨勪睛嫻嬨傞粯璁ゅ鹼細0 錛堜篃灝辨槸鎵鏈夎繛鎺ユ瘡涓鏃跺埢閮借渚︽祴-浣嗕粎浠呭綋 poolPingEnabled 涓?true 鏃墮傜敤錛夈?nbsp;

JNDI –  榪欎釜鏁版嵁婧愮殑瀹炵幇鏄負浜嗕嬌鐢ㄥ Spring 鎴栧簲鐢ㄦ湇鍔″櫒榪欑被鐨勫鍣紝瀹瑰櫒鍙互闆嗕腑鎴栧湪澶栭儴閰嶇疆鏁版嵁婧愶紝鐒跺悗鏀劇疆涓涓?JNDI 涓婁笅鏂囩殑寮曠敤銆?br />

initial_context  –  榪欎釜灞炴х敤鏉ヤ粠鍒濆涓婁笅鏂囦腑瀵繪壘鐜錛堜篃灝辨槸initialContext.lookup錛坕nit ial——context錛夛級銆傝繖鏄釜鍙夊睘鎬э紝濡傛灉琚拷鐣ワ紝閭d箞data_source 灞炴у皢 浼氱洿鎺ヤ互 init ialContext 涓鴻儗鏅啀嬈″鎵俱?

data_source  –  榪欐槸寮曠敤鏁版嵁婧愬疄渚嬩綅緗殑涓婁笅鏂囩殑璺緞銆傚畠浼氫互鐢?init ial_context鏌ヨ榪斿洖鐨勭幆澧冧負鑳屾櫙鏉ユ煡鎵撅紝濡傛灉 init ial_context 娌℃湁榪斿洖緇撴灉鏃訛紝鐩存帴浠ュ垵濮嬩笂涓?鏂囦負鐜鏉ユ煡鎵俱?



鍗佷竴銆乵appers鐢ㄦ潵娉ㄥ唽鏄犲皠鏂囦歡銆?/p>




]]>
mybatis鐜鎼緩錛堣漿杞斤級http://www.tkk7.com/alexprefect/articles/372966.htmlalexprefectalexprefectThu, 29 Mar 2012 03:06:00 GMThttp://www.tkk7.com/alexprefect/articles/372966.htmlhttp://www.tkk7.com/alexprefect/comments/372966.htmlhttp://www.tkk7.com/alexprefect/articles/372966.html#Feedback0http://www.tkk7.com/alexprefect/comments/commentRss/372966.htmlhttp://www.tkk7.com/alexprefect/services/trackbacks/372966.html鏈榪戜竴孌墊椂闂磋繃鐨勬湁浜涜糠鑼簡錛屽ソ浜嗕笉鑳藉湪榪欐牱浜嗭紝妤間富鍐沖畾鎸綔璧鋒潵寮濮嬪ソ濂藉涔犱竴浜涗笢瑗垮惂銆傜爺絀秏ybatis鍚э紒


涓囬噷涔嬭璧蜂簬灝忔錛屼粠鎼緩鐜寮濮嬨?/p>


涓銆佷笅杞藉ソjar鍖咃紝鏃㈢劧鏄熀鏈幆澧冩惌寤哄氨涓嶇敤寮勭殑澶鏉傚氨鍔犲叆涓変釜鏈鍩烘湰鐨刯ar鍖?/p>

1銆乵ybatis-3.1.0-SNAPSHOT.jar

2銆乵ysql-connector-java-5.0.8-bin.jar

3銆乴og4j-1.2.16.jar


浜屻乵ybatis鏄熀浜巐og4j鏃ュ織妗嗘灦鐨勶紝鎭╋紝鎶妉og4j鐨勬棩蹇楁暟鎹厤緗枃浠朵篃閰嶇疆涓涓嬶紝灝卞厛鎶婄駭鍒瀹氬湪debug鐨勭駭鍒笂

 

  1. # Rules reminder: 
  2. # DEBUG < INFO < WARN < ERROR < FATAL 
  3.  
  4. # Global logging configuration 
  5. log4j.rootLogger=DEBUG, stdout 
  6.  
  7. # My logging configuration... 
  8. log4j.logger.org.mybatis.jpetstore=DEBUG 
  9.  
  10. ## Console output... 
  11. log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
  12. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
  13. log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n

涓夈佺幇鍦ㄥ氨寮濮嬪mybatis榪涜閰嶇疆錛岄厤緗枃浠朵負涓涓獂ml鏂囦歡錛屾枃浠跺悕鑷繁鍐沖畾錛屾殏涓斿氨鍙獵onfiguration.xml鍚?p> 


 

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
  3. "http://mybatis.org/dtd/mybatis-3-config.dtd"> 
  4.  
  5. <configuration> 
  6.     <typeAliases> 
  7.         <!-- simple alias for full class name --> 
  8.         <typeAlias alias="User" type="com.akwolf.domain.User"/> 
  9.     </typeAliases> 
  10.     <environments default="development"> 
  11.         <environment id="development"> 
  12.             <transactionManager type="JDBC"/> 
  13.             <dataSource type="POOLED"> 
  14.                 <property name="driver" value="com.mysql.jdbc.Driver"/> 
  15.                 <property name="url" value="jdbc:mysql://192.168.2.110:3306/mybatis"/> 
  16.                 <property name="username" value="zhangh"/> 
  17.                 <property name="password" value="123456"/> 
  18.             </dataSource> 
  19.         </environment> 
  20.     </environments> 
  21.     <mappers> 
  22.         <mapper resource="com/akwolf/persistence/UserMapper.xml"/> 
  23.     </mappers> 
  24. </configuration> 

 


涓婇潰榪欎釜閰嶇疆鏂囦歡鐩稿綋浜庝竴涓叏灞鐨勯厤緗紝鎵浠ュ湪榪欓噷闈㈤厤緗篃浼氬獎鍝嶅埌鍏朵粬鐨勯厤緗枃浠?/p>

榪欓噷鍏堝涓婇潰鍑犱釜鏍囩闄岀敓鏍囩瑙i噴涓涓?/p>

<typeAliases>灝辨槸涓轟負涓涓畬鏁寸殑綾誨悕鍘諱竴涓埆鍚嶏紝鎴戠寽浣犱笉浼氭効鎰忓湪姣忔鐢ㄥ埌涓涓被鏃墮兘鎶婄被鐨勫畬鏁磋礬鍔茬粰甯︿笂錛屾墍浠ヤ笂闈㈢殑User灝卞彲浠ヤ唬琛╟om.akwolf.domain.User

榪欐牱鍋氱殑紜槸涓浠跺緢鐪佸姏姘旂殑浜?/p>

<environments default="development">涔熷氨鏄湪涓嶅悓鐨勭幆澧冧腑閫夋嫨涓嶅悓鐨勯厤緗紝濡傛灉鐜板湪鏄紑鍙戠幆澧冭繛鎺ョ殑鏁版嵁搴撳彲鑳藉氨涓庢祴璇曡繛鎺ユ暟鎹簱鐨勯厤緗笉鍚岋紝default浠h〃鐨勫氨鏄竴涓粯璁や嬌鐢ㄧ殑鐜銆?/p><mappers>涔熷氨鏄敞鍐屼綘鍐欎簡鍝簺Mapper鏄犲皠鏂囦歡銆?br />榪欎釜灝卞厛綆鍗曚粙緇嶄竴涓嬶紝涓嬩竴綃囨枃绔犲氨鎶婃瘡涓涓爣絳劇殑浣跨敤鍜岀敤澶勭綏鍡︿竴閬嶃?br />

鍥涖佸緩绔嬮鍩熸ā鍨婾ser


 

  1. import java.io.Serializable; 
  2.  
  3.  
  4. public class User implements Serializable { 
  5.     private static final long serialVersionUID = 1L; 
  6.  
  7.     private int id; 
  8.  
  9.     private String name; 
  10.     private int age; 
  11.      
  12.     //setter && getter 


 


 

浜斻佸緩绔嬪鏁版嵁搴撴搷浣滅殑dao鎺ュ彛

 

  1. package com.akwolf.persistence; 
  2.  
  3. import com.akwolf.domain.User; 
  4.  
  5. public interface UserMapper { 
  6.  
  7.     /**
  8.      * 閫氳繃id鏌ヨ鐢ㄦ埛
  9.      *
  10.      * @param id
  11.      *            鐢ㄦ埛id
  12.      * @return 鐢ㄦ埛瀹炰綋
  13.      */ 
  14.     public User getUserById(int id); 

鍏佺紪鍐欏dao鎺ュ彛榪涜瀹炵幇鐨凪apper銆怳serMapper.xml銆戯紝灝辨槸涓浜泂ql璇彞

 

 

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
  4. <mapper namespace="com.akwolf.persistence.UserMapper"> 
  5.     <select id="getUserById" parameterType="int" resultType="User"> 
  6.         select * from tbl_user where id = #{id} 
  7.     </select> 
  8. </mapper> 

#{id}琛ㄧず浼犲叆鐨勫弬鏁幫紝鏄竴涓彉閲?p> 

鍒版涓涓熀鏈殑mybatis榪愯鐜宸茬粡鎼緩璧鋒潵錛岀敤嫻嬭瘯綾繪祴璇曚竴涓?/p>


 

  1. package com.akwolf.test; 
  2.  
  3. import java.io.IOException; 
  4. import java.io.Reader; 
  5.  
  6. import org.apache.ibatis.io.Resources; 
  7. import org.apache.ibatis.session.SqlSession; 
  8. import org.apache.ibatis.session.SqlSessionFactory; 
  9. import org.apache.ibatis.session.SqlSessionFactoryBuilder; 
  10. import org.junit.AfterClass; 
  11. import org.junit.BeforeClass; 
  12. import org.junit.Test; 
  13.  
  14. import com.akwolf.domain.User; 
  15. import com.akwolf.persistence.UserMapper; 
  16.  
  17. public class UserTest { 
  18.      
  19.     private static SqlSession session ; 
  20.      
  21.     @BeforeClass 
  22.     public static void init(){ 
  23.         // 閰嶇疆鏂囦歡鐨勮礬寰?/span> 
  24.         String res = "com/akwolf/conf/Configuration.xml"
  25.         try
  26.             // 1銆佸姞杞介厤緗枃浠?/span> 
  27.             Reader reader = Resources.getResourceAsReader(res); 
  28.             // 2銆佸垱寤篠qlSessionFactory錛岀敤浜庡彇寰桽qlSession 
  29.             SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader) ; 
  30.             // 3銆佸彇寰椾竴涓猄qlSession(瀵笿dbc涓璫onnection鐨勫皝瑁? 
  31.             session = factory.openSession() ; 
  32.         } catch (IOException e) { 
  33.             e.printStackTrace(); 
  34.         }  
  35.     } 
  36.  
  37.     @Test 
  38.     public void testGet() { 
  39.         // 4銆佸彇寰梞ybatis瀹炵幇騫跺疄渚嬪寲濂界殑UserMapper鎺ュ彛瀹炰緥 
  40.         UserMapper mapper = session.getMapper(UserMapper.class) ;  
  41.         // 5銆佽繘琛宒ao灞傜殑鎿嶄綔 
  42.         User u = mapper.getUserById(1) ; 
  43.         System.out.println(u); 
  44.     } 
  45.      
  46.     @AfterClass 
  47.     public static void destory(){ 
  48.         // 6銆佸叧闂璖qlSession 
  49.         session.close() ; 
  50.     } 

 

涓婇潰嫻嬭瘯綾葷殑涓昏寤虹珛鏁版嵁搴撹繛鎺ュ茍瀵規暟鎹簱榪涜鐨勬搷浣滐紝涓轟簡鏂逛究浠ュ悗鏌ョ湅鍜屽ぇ瀹剁殑鐞嗚В錛屾敞閲婂啓鐨勫緢璇︾粏銆?/p>


濂斤紝鍒拌繖閲岀涓涓猰ybatis紼嬪簭榪愯鎴愬姛錛屼笅涓嬈″氨鐮旂┒涓涓婱ybatis閰嶇疆鏂囦歡鐨勮緇嗛厤緗?/p>




]]>
主站蜘蛛池模板: 久久被窝电影亚洲爽爽爽| 亚洲福利电影在线观看| 久久午夜免费鲁丝片| 亚洲伊人久久大香线蕉影院| 男女交性永久免费视频播放 | 青青青视频免费观看| 久久99国产亚洲高清观看首页| 无码国产精品一区二区免费I6| 一级特黄色毛片免费看| 亚洲视频免费观看| 亚洲成A∨人片天堂网无码| 91大神免费观看| 免费中文字幕视频| 国产区卡一卡二卡三乱码免费| 成人A毛片免费观看网站| 亚洲综合欧美色五月俺也去| 亚洲综合另类小说色区| 全免费a级毛片免费**视频| 暖暖免费在线中文日本| 国产成人亚洲精品播放器下载 | 亚洲va久久久噜噜噜久久| 99久久精品日本一区二区免费 | 亚洲精品永久在线观看| 久久综合日韩亚洲精品色| 四只虎免费永久观看| 99在线精品视频观看免费| 国内精品免费久久影院| 亚洲一本到无码av中文字幕| 亚洲高清在线视频| 亚洲国产精品丝袜在线观看| 成人免费看片又大又黄| 69视频在线观看高清免费| 91精品成人免费国产| 美女被免费网站视频在线| 亚洲日本久久久午夜精品| 亚洲综合久久综合激情久久| 亚洲一级特黄大片无码毛片| 暖暖日本免费在线视频| 日韩精品无码区免费专区 | 免费**毛片在线播放直播| 好吊妞788免费视频播放|