1. spring作为容器,整合struts和mybatis
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <!-- 组织机构业务 --> <bean id="companyDao" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="mapperInterface" value="com.shdl.hterp.business.company.CompanyDao" /> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> <bean id="companyService" class="com.shdl.hterp.business.company.CompanyServiceImpl"> <property name="companyDao" ref="companyDao"></property> </bean> </beans>
2. mybatisti提供持久层服务
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.shdl.hterp.business.company.CompanyDao"> <select id="getList" resultType="companyBean" parameterType="companyBean"> select * from ( select M.*,ROWNUM RN from ( select c.* from companyinfo c where deletetime is null <if test="qm != null and qm != ''"> <if test="qm.companyname != null and qm.companyname != ''"> AND companyname like '%${qm.companyname}%' </if> <if test="qm.companytype != null and qm.companytype != ''"> and companytype = #{qm.companytype} </if> </if> order by companyorderno )M )N where N.RN > #{start} and N.RN <= #{end} </select> <!-- 更改sql:目前会导致查询条件下出现分页不对的现象 --> <select id="getListCount" parameterType="companyBean" resultType="int"> SELECT count(*) FROM companyinfo where deletetime is null <if test="qm != null and qm != ''"> <if test="qm.companyname != null and qm.companyname != ''"> AND companyname like '%${qm.companyname}%' </if> <if test="qm.companytype != null and qm.companytype != ''"> and companytype = #{qm.companytype} </if> </if> </select> <update id="updateByField" parameterType="hashmap"> UPDATE companyinfo SET companycode = companycode <foreach collection="updatelist" item="u"> <choose> <when test="u.name == 'deletetime'"> , ${u.name} = ${u.value} </when> <otherwise> , ${u.name} = #{u.value} </otherwise> </choose> </foreach> WHERE 1 = 1 <foreach collection="wherelist" item="w"> AND ${w.name} = #{w.value} </foreach> </update> <select id="infoByField" parameterType="hashmap" resultType="companyBean"> SELECT l.* FROM companyinfo l WHERE deletetime is null AND companytype = '项目公司' <if test="name != null and name != ''"> AND ${name} = #{value} </if> </select> <select id="info" parameterType="String" resultType="companyBean"> SELECT l.* FROM companyinfo l WHERE deletetime is null and companyid = #{value} </select> <!-- 新建公司信息--> <insert id="add" parameterType="companyBean"> INSERT INTO companyinfo ( companyid, companyname, companycode, companyaddress, companyaccount, companytel, companyremark, companytype, companyorderno )VALUES( sys_guid(), #{companyname}, #{companycode}, #{companyaddress}, #{companyaccount}, #{companytel}, #{companyremark}, #{companytype}, #{companyorderno} ) </insert> <update id="modify" parameterType="companyBean"> UPDATE companyinfo SET companyid = #{companyid}, companyname = #{companyname}, companycode = #{companycode}, companyaddress = #{companyaddress}, companyaccount = #{companyaccount}, companytel = #{companytel}, companyremark = #{companyremark}, companytype = #{companytype}, companyorderno = #{companyorderno} WHERE companyid = #{companyid} </update> <!-- 获取项目公司 --> <select id="getProduct" resultType="companyBean"> SELECT * FROM companyinfo WHERE deletetime is null AND companytype = '项目公司' </select> </mapper>
3. struts:action和mmybatis结合
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.i18n.encoding" value="UTF-8"/> <package name="company" extends="struts-default"> <action name="company_*" class="com.shdl.hterp.business.company.CompanyAction" method="{1}"> </action> </package> </struts>