MyBitis(iBitis)系列随笔之六:mybitis与spring集成

    xiaoxiao2026-03-15  6

    目前Spring官方还没有出整合Mybatis的特性,但是mybitis比较给力,开发了一个mybatis-spring插件,达到与Spring的完美整合目的。

             在与Spring集成前,一方面我们需要下载Spring的所需的jar文件,我是刚才Spring官方网站上下载的最新的spring-framework-3.2.2.RELEASE-dist.zip压缩文件,里面包含了Spring所有jar文件以及文档;另一方面我们需要从mybitis的官方网站上下载mybatis-spring插件,我是下载最新的mybatis-spring-1.2.0-bundle.zip压缩文件,里面包含了需要的jar文件。由于本文使用的dbcp作为数据库连接池,所以还要准备dbcp jar文件。

              关于Spring的事务配置,本博文不会赘述。下面就详细介绍下集成

               以下代码按照下图结构组织:

             

     

    一、准备t_mobile表

           

    二、编写Mobile实体

    [java] view plain copy package com.jefry;    public class Mobile {      private int id;      private String telnumber;        public int getId() {          return id;      }        public void setId(int id) {          this.id = id;      }        public String getTelnumber() {          return telnumber;      }        public void setTelnumber(String telnumber) {          this.telnumber = telnumber;      }    }  

    三、编写Mobile数据库接口

    [java] view plain copy package com.jefry;    public interface MobileMapper {      public Mobile getMoble(int id);   }  

    四、编写Mobile业务Bean,里面注入Mobile数据库接口对象

    [java] view plain copy package com.jefry;    public class MobileService {      private MobileMapper mobileMapper;      public void setMobileMapper(MobileMapper mobileMapper) {          this.mobileMapper = mobileMapper;      }            public Mobile getMoble(int id){          return mobileMapper.getMoble(id);      }  }  

    五、准备ibitis配置文件

    [html] view plain copy <?xml version="1.0" encoding="UTF-8" ?>  <!DOCTYPE configuration  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-config.dtd">  <configuration>      <typeAliases>          <typeAlias alias="Mobile" type="com.jefry.Mobile"/>      </typeAliases>      <mappers>          <mapper resource="com/jefry/MobileMapper.xml"/>      </mappers>  </configuration>  

    六、编写Mobile数据库映射文件

    [html] view plain copy <?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.jefry.MobileMapper">       <resultMap id="mobileResultMap" type="Mobile">               <id property="id" column="id" javaType="int" jdbcType="INTEGER"/>                <result property="telnumber" column="telnumber" javaType="string" jdbcType="VARCHAR"/>         </resultMap>            <select id="getMoble" parameterType="int"  resultMap="mobileResultMap" >           select * from t_mobile where id = #{id}       </select>  </mapper>  

    七、由Spring管理业务bean对象(bean.xml)

    [html] view plain copy <?xml version="1.0" encoding="UTF-8"?>  <beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xsi:schemaLocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans.xsd">        <!-- more bean definitions go here -->      <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">           <property name="driverClassName" value="com.mysql.jdbc.Driver"/>          <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/>          <property name="username" value="root"/>           <property name="password" value="root"/>      </bean>      <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">          <!--dataSource属性指定要用到的连接池-->           <property name="dataSource" ref="dataSource"/>          <!--configLocation属性指定mybatis的核心配置文件-->           <property name="configLocation" value="mybatis-config.xml"/>       </bean>       <bean id="mobileMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">           <!--sqlSessionFactory属性指定要用到的SqlSessionFactory实例-->            <property name="sqlSessionFactory" ref="sqlSessionFactory" />           <!--mapperInterface属性指定映射器接口,用于实现此接口并生成映射器对象-->            <property name="mapperInterface" value="com.jefry.MobileMapper" />        </bean>             <bean id="mobileService" class="com.jefry.MobileService">           <property name="mobileMapper" ref="mobileMapper"/>       </bean>  </beans>  

    八、编写测试代码

    [java] view plain copy package com.jefry;    import java.io.IOException;    import org.springframework.context.ApplicationContext;  import org.springframework.context.support.ClassPathXmlApplicationContext;    public class Test {      static String resource = "mybatis-config.xml";        public static void main(String[] args) throws IOException {                    ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"bean.xml"});          MobileService mobileService = context.getBean("mobileService", MobileService.class);          System.out.println("编号1的电话号码:" + mobileService.getMoble(1).getTelnumber());      }  }  

    九、测试结果 

    转载请注明原文地址: https://ju.6miu.com/read-1308004.html
    最新回复(0)