applicationContext.xml
<!-- ibatis 配置--> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value>classpath:SqlMapConfig.xml</value> </property> <property name="dataSource" ref="dataSource" /> </bean>
sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" maxRequests="10" maxSessions="5" useStatementNamespaces="false" maxTransactions="5" errorTracingEnabled="true" /> <sqlMap resource="ibatis/SBook.xml"/> </sqlMapConfig>
SBook.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap> <typeAlias alias="sbook" type="com.yt.manager.sbook.model.SBook" /> <!-- cache model --> <cacheModel id="code-CacheModel" type="LRU"> <flushInterval hours="24"/> <flushOnExecute statement="saveBook"/> <flushOnExecute statement="deleteBook"/> <property name="cache-size" value="1000" /> </cacheModel> <!-- find all start--> <select id="findAllBook" parameterClass="sbook" resultClass="sbook" cacheModel="code-CacheModel"> <![CDATA[ SELECT * FROM sbook ]]> <dynamic prepend="where"> <isNotEmpty prepend="and" property="author"> author like #author# </isNotEmpty> <isNotEmpty prepend="and" property="title"> title like #title# </isNotEmpty> </dynamic> </select> <!-- find all end --> <insert id="saveBook" parameterClass="sbook"> <![CDATA[ INSERT INTO sbook(title,author,total,price,isbn,publisher) VALUES(#title#,#author#,#total#,#price#,#isbn#,#publisher#) ]]> <selectKey resultClass="int" keyProperty="id" > SELECT @@IDENTITY AS id </selectKey> </insert> <delete id="deleteBook" parameterClass="int"> <![CDATA[ delete from sbook where id=#id# ]]> </delete> <update id="updateBook" parameterClass="sbook"> <![CDATA[ update sbook set id=#id# ]]> <isNotEmpty prepend="," property="title"> title = #title# </isNotEmpty> <isNotEmpty prepend="," property="author"> author = #author# </isNotEmpty> <isNotEmpty prepend="," property="total"> total = #total# </isNotEmpty> <isNotEmpty prepend="," property="price"> price = #price# </isNotEmpty> <isNotEmpty prepend="," property="isbn"> isbn = #isbn# </isNotEmpty> <isNotEmpty prepend="," property="publisher"> publisher = #publisher# </isNotEmpty> <![CDATA[ where id=#id# ]]> </update> <!-- 分页查询--> <select id="findBookByPage" parameterClass="sbook" resultClass="sbook"> <![CDATA[ SELECT * FROM sbook limit #first#,#end# ]]> </select> </sqlMap>