读书人

Mybatis+spring2.5配备

发布时间: 2012-06-28 15:20:03 作者: rapoo

Mybatis+spring2.5配置

首先maven项目的话,需要增加如下依赖,虽然官方文档介绍的spring3.x的整合,但是2.5目前看也能用哦

<dependency>    <groupId>org.mybatis</groupId>    <artifactId>mybatis</artifactId>    <version>3.0.5</version></dependency>    <dependency>    <groupId>org.mybatis</groupId>    <artifactId>mybatis-spring</artifactId>    <version>1.0.1</version>        </dependency>
?

?

sqlSessionFactory交给spring去管理,同时保持了单例,这就是spring控制的好处呀

    <bean id="sqlSessionFactory" ref="dataSource" />        <property name="configLocation" value="classpath:MybatisConfiguration.xml"></property>    </bean><bean id="eventFlagMapper" value="com.ice.stat.online.dao.mybatis.EventFlagMapper" /><property name="sqlSessionFactory" ref="sqlSessionFactory" /></bean>  

?

Mybatis的配置文件,这里只配置了别名

<?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 type="com.ice.stat.online.model.EventFlag" alias="EventFlag"/></typeAliases>    <mappers>   <mapper resource="com/ice/stat/online/model/hbm/EventFlagMapper.xml"/></mappers></configuration>

?

EventFlagMapper.xml,这里配置了查询的sql,注意select节点的ID和一会儿提到的mapper接口里的方法同名

<?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.ice.stat.online.dao.mybatis.EventFlagMapper"><resultMap type="EventFlag" id="EventFlagMap">    <id column="id" property="id"/>    <result property="logtime" column="logtime"/>    <result property="eventDetail" column="event_detail"/></resultMap>    <select id="selectAllEvent" resultMap="EventFlagMap">        select * from event_flag    </select></mapper>
?

Mapper接口,只有声明,没有任何实现类,这个接口相当于我们用hibernate时候的dao,当然也可以省去上面的sql配置文件,采用注解的方式,不过我不太喜欢这种方式

package com.ice.stat.online.dao.mybatis;import java.util.List;import com.ice.stat.online.model.EventFlag;public interface EventFlagMapper {    public List<EventFlag> selectAllEvent();}
?

测试类

    public static  void test3(){        ClassPathXmlApplicationContext cac = new ClassPathXmlApplicationContext(new String[]{"applicationContext-dataSource.xml","applicationContext-mybatis.xml"});        EventFlagMapper mapper = (EventFlagMapper)cac.getBean("eventFlagMapper");        List<EventFlag> events =  mapper.selectAllEvent();        for(EventFlag event: events){            System.out.println(event.getId());            System.out.println(event.getEventDetail());            System.out.println(event.getLogtime());            System.out.println("-------------------------------------");        }             }
?

?

读书人网 >开源软件

热点推荐