锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 銆銆鍦ㄤ嬌鐢╯truts+spring+hibernate鐨勫紑鍙戜腑錛屾湁浜涙椂鍊欑敤鎴蜂細鏈夋暟鎹簱瀛樺偍鏂囦歡鐨勯渶姹傦紝鍦ㄦ暟鎹簱涓竴鑸細閲囩敤 涓銆侀棶棰橀渶姹傦細 1.鍦ㄦ寔涔呭寲綾諱腑瀛楁璇ョ敤浠涔堢被鍨嬶紵 浜屻佽В鍐蟲柟娉曪細 1.鍦ㄦ暟鎹簱涓繖浜涙枃浠舵渶緇堟槸浠ュ瓧鑺傜殑褰㈠紡瀛樺偍浜岃繘鍒跺璞★紝鎵浠ュ湪鎸佷箙鍖栫被涓皢鐩稿簲鐨勫睘鎬у畾涔変負byte[]綾誨瀷銆?/font> 2.鍦⊿truts涓彲浠ヤ嬌鐢紲html:file property="" /錛炴爣絳炬潵涓婁紶鏂囦歡錛屾墍浠ヤ笌涔嬪搴旂殑ActionForm鐨勫睘鎬х被鍨嬩負: 3.鍦℉ibernate涓枃浠跺垪瀵瑰簲鐨勭被鍨嬪彲浠ユ槸org.springframework.orm.hibernate3.support.BlobByteArrayType錛?br />
org.springframework.orm.hibernate3.support.ClobStringType銆乧lob銆乥lob銆乥inary銆備粈涔堟椂鍊欑敤BlobBYteArrayType 4.濡傛灉鍦╯pring涓婅浣跨敤Struts涓嚜甯︾殑涓婁紶鍔熻兘蹇呴』鍦╯pring鐨勯厤緗枃浠朵腑鍔犱互澹版槑.鍚﹁呭皢浼氬嚭鐜? (1).澹版槑涓涓鐞嗗彞鏌勶細 鎻愮ず錛?鎸囧畾lobHandler鏃訛紝瀵逛簬MySQL銆丏B2銆丮S SQL Server銆丱racle 10g錛屼嬌鐢―efaultLobHandler鍗沖彲錛岃孫racle 9i錛?br />
鍒欏彲浠ヤ嬌鐢∣racleLobHandler銆傚洜涓篛racle9i澶勭悊lob鐨勬柟寮忓拰涓嶅お涓鏍?鎵浠ヨ繖閲岃鐢╯pring鎻愪緵鐨凷impleNativeJdbcExtractor.澶勭悊Oracle9i lob綾誨瀷鐨勭壒孌婂0鏄? 錛渂ean id="nativeJdbcExtractor" lazy-init="true" class="org.springframework.jdbc.support.nativejdbc. 錛渂ean id="lobHandler" lazy-init="true" class="org.springframework.jdbc.support.lob.OracleLobHandler"錛?br />
錛減roperty name="nativeJdbcExtractor"錛?br />
錛渞ef bean="nativeJdbcExtractor"/錛?br />
錛?property錛?br />
錛?bean錛? 錛渂ean id="sessionFactory"銆class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"錛?br />
鍚屾椂榪樺簲璇ヤ嬌鐢ㄥ搴旂殑JDBC椹卞姩銆?/font> Clob瀛楁瀹氫箟:錛減roperty name="灞炴у悕" column="鍒楀悕" type="org.springframework.orm.hibernate.support.ClobStringType" 銆濡傛灉浣跨敤鐨勬槸mysql鏁版嵁搴撳叾榛樿鐨勪笂浼犳枃浠跺ぇ灝忓彧鏈?047552瀛楄妭錛氬鏋滀笂浼犵殑鏂囦歡澶т簬1047552瀛楄妭鍒欎細鍑虹幇寮傚父 榪欑瘒鏂囩珷瑙e喅浜嗛棶棰? 鏍稿績鎻愮ず: 2007-08-08 鍙戠幇鐢?MyEclipse 5.5 鍋?Struts 1.2 + Spring 2.0 + Hibernate 3.1 鏁村悎鏃跺惎鍔ㄨ繃紼嬩腑鎶ュ涓嬬殑閿欒: Spring 鍜?Hibernate 鍏辯敤鐨勪竴浜?jar 鏂囦歡鍙戠敓浜嗙増鏈啿紿? 鍒犻櫎 WEB-INF/lib/asm-2.2.3.jar 鐒跺悗閲嶅惎 Tomcat. asm-2.2.3.jar 鍘熸枃鍙傝?銆http://heweiya.javaeye.com/blog/101575
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
]]>
]]>
]]>
]]>
Blob瀛楁鎴朇lob瀛楁鏉ュ瓨鍌ㄤ簩榪涘埗鍥劇墖銆佹祦濯掍綋鎴栨枃浠躲傜幇灝卞皢鍦ㄥ疄闄呭紑鍙戜腑閬囧埌鐨勯棶棰樺強瑙e喅鏂規(guī)硶鍛婁箣銆?/font>
2.鍦⊿truts涓枃浠跺搴旂殑鏁版嵁綾誨瀷鏄粈涔堬紵
3.鍦℉ibernate涓瓧孌靛搴旂殑綾誨瀷鏄粈涔堬紵
4.濡備綍鍦⊿pring涓鐞嗚繖浜涙枃浠訛紵
FormFile(org.apache.struts.upload.FormFile)綾誨瀷錛屽嵆浣挎槸浣跨敤浜嗗姩鎬丗orm鍚岀悊涔熸槸浣跨敤璇ョ被鍨?
鎻愮ず錛氬悓鏃惰灝唂orm鏍囩淇敼涓猴紲html:form action="/Action.do" method="post" enctype="multipart/form-data"錛?br />
浠ユ敮鎸佹枃浠朵笂浼犲悗鍙栧緱涓婁紶鏁版嵁銆傚湪緇欐寔涔呭璞¤祴鍊兼椂鍙渶璋冪敤(FormFile) form.get("property")).getFileData();
鏂規(guī)硶鍗沖彲榪斿洖byte[]銆?/font>
浠涔堟椂鍊欑敤ClobStringType錛熶竴鑸鏋滆澶勭悊鐨勫璞℃槸鏁版嵁搴撳瓧孌電被鍨嬫槸blob鏃?涓昏鏄浘鐗囷紝浜岃繘鍒跺璞$瓑),
鏄犲皠鏂囦歡璁劇疆涓猴細org.springframework.orm.hibernate3.support.BlobByteArrayType 鏁版嵁搴撳瓧孌墊槸clob(澶ф枃鏈璞?
綾誨瀷鏃?瑕佸皢java鐨勫睘鎬х殑綾誨瀷瀹氫負String,鏄犲皠鏂囦歡璁劇疆涓猴細 org.springframework.orm.hibernate3.support.ClobStringType銆?/font>
綈ava.lang.IllegalStateException: No LobHandler found for configuration - lobHandler property
must be set on LocalSessionFactoryBean寮傚父銆傞厤緗涓嬶細
錛渂ean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" /錛?br />
(2).鍦╯essionFactory涓敞鍏obHandler:
錛渂ean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"錛?br />
錛減roperty name="lobHandler" ref="lobHandler"/錛?br />
錛?bean錛?/font>
SimpleNativeJdbcExtractor"/錛?/font>
錛?-- 涓哄鐞咮lob綾誨瀷瀛楁鐨勫彞鏌勫0鏄?--錛?br />
錛減roperty name="lobHandler"錛?br />
錛渞ef local="lobHandler" /錛?br />
錛?property錛?br />
錛?bean錛?/font>
length="1048"/錛炶繖閲岀殑length鏄寚瀛楄妭,鏈澶у彲浠ュ埌2G.璇ュ瓧孌靛湪java瀵硅薄涓0鏄庝負String綾誨瀷銆?/font>
org.springframework.jdbc.UncategorizedSQLException: You can change this value on the server by setting
the max_allowed_packet' variable.鏍規(guī)嵁鎻愮ず鍙互淇敼mysql鏁版嵁搴撶殑max_allowed_packet灞炴уぇ灝忋?br />
鎵撳紑my.ini鏂囦歡涓壘鍒? SERVER SECTION鍚庡湪port=3306涓嬮潰鍔犱笂max_allowed_packet=?M銆淇敼瀹屽悗閲嶅惎mysql鏈嶅姟鍗沖彲鎴愬姛涓婁紶銆?/font>
]]>
2007-08-08 15:36:17,406 ERROR [org.hibernate.proxy.BasicLazyInitializer] - CGLIB Enhancement failed: dao.User
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)
asm.jar
asm-attrs.jar
asm-commons-2.2.3.jar
asm-util-2.2.3.jar
]]>
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>resources/icustomer/Contact.hbm.xml</value>
<value>resources/icustomer/Customer.hbm.xml</value>
</list>
</property>
.
</bean>
姣忓綋闇瑕佸姞鍏ヤ竴涓柊鐨?VO 鏃訛紝鎴戦渶瑕佽繃鏉ヤ慨鏀歸厤緗枃浠訛紝鏉ュ紩鍏ュ鏂扮殑 VO 鐨勬敮鎸併?/span>
鐜板湪鎴戜嬌鐢ㄧ殑鏃跺欙紝鏄繖涔堥厤鐨勶細
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingLocations">
<list>
<value>classpath:resources/**/*.hbm.xml</value>
</list>
</property>
.
</bean>
鍋氶」鐩紑鍙戠殑鏃跺欙紝灝卞啀涔熸病鏈夋敼榪囬厤緗?/span>
]]>
<property name="driver">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="driverUrl">
<!--鐢ㄦ埛鍚嶅拰瀵嗙爜鍐欏湪涓璧鋒墠璋冪敤鎴愬姛,涓嶇劧浼氭姤閿?-->
<value>jdbc:mysql://localhost:3306/test?user=root&password=7814195</value>
</property>
<property name="user"><!-- 蹇呴』鍦ㄨ繖閲屼篃璁劇疆錛屼絾鏄?proxool鍗翠笉浣跨敤瀹冿紝鎴栬鏄釜bug-->
<value>root</value>
</property>
<property name="password"><!-- 蹇呴』鍦ㄨ繖閲屼篃璁劇疆錛屼絾鏄?proxool鍗翠笉浣跨敤瀹冿紝鎴栬鏄釜bug-->
<value>7814195</value>
</property>
<property name="alias">
<value>mysql</value>
</property>
<property name="houseKeepingSleepTime">
<value>90000</value>
</property>
<property name="prototypeCount">
<value>5</value>
</property>
<property name="maximumConnectionCount">
<value>100</value>
</property>
<property name="minimumConnectionCount">
<value>10</value>
</property>
<property name="trace">
<value>true</value>
</property>
</bean>
]]>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "<beans>
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news</value>
</property>
<property name="properties">
<props>
<prop key="c3p0.minPoolSize">5</prop>
<prop key="hc3p0.maxPoolSize">10</prop>
<prop key="hc3p0.timeout">60</prop>
<prop key="c3p0.max_statement">50</prop>
<prop key="c3p0.testConnectionOnCheckout">true</prop>
<prop key="user">sa</prop>
<prop key="password"></prop>
</props>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>bo/Users.hbm.xml</value></list>
</property>
</bean>
<bean id="UsersDAO" class="dao.UsersDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="UserService" class="service.UserService">
<property name="userDAO">
<ref bean="UsersDAO"/>
</property>
</bean>
<bean name="/login" class="org.spell.action.LoginAction" singleton="false">
<property name="userService">
<ref bean="UserService"/>
</property>
</bean>
<bean name="/register" class="org.spell.action.RegisterAction" singleton="false">
<property name="userService">
<ref bean="UserService"/>
</property>
</bean>
</beans>
--------------------------------
鍦ㄩ厤緗殑鏃跺?nbsp; cp30鐨勫睘鎬х殑鍚嶅瓧蹇呴』鏄?nbsp; ''driverClass' , 'jdbcUrl', 'user' , 'password' 鑰?nbsp; <property name="properties">鐨勫悕瀛椾篃蹇呴』鏄?#8220;properties”錛屽彟澶朿p30閰嶇疆鏂囦歡鐨勫睘鎬у悕涔熼兘鏄濡傦細"c3p0.minPoolSize"銆?hc3p0.maxPoolSize"絳夌瓑