039Sprng与MyBatis整合(最简单的)

步骤

  1. 开发Mapper组件
  2. 开发Service组件
  3. 配置bean

栗子:
数据表

create table person
(
    person_id int auto_increment primary key,
    person_name varchar(225),
    person_age int
);

1. 开发Mapper组件

Mapper xml文件 和 Mapper 接口

Mapper 接口

public interface PersonMapper
{
   List<Person> queryPerson(int startId, int endId);
   int addPerson(Person person);
}

Mapper xml文件

<mapper namespace="com.lyx.dao.PersonMapper">
    <select id="queryPerson" resultMap="personMap">
        select * from person where person_id between #{arg0} and #{arg1}
    </select>
    <insert id="addPerson" >
        insert into person value (
      <choose>
          <when test="id != null">
              #{id}
          </when>
          <otherwise >
              null
          </otherwise>
      </choose>
        ,#{name},#{age})
    </insert>
    <resultMap id="personMap" type="person">
        <id column="person_id" property="id"/>
        <result column="person_name" property="name"/>
        <result column="person_age" property="age"/>
    </resultMap>
</mapper>

2. 开发Service组件

public interface PersonService
{
    List<Person> selectPerson(int startId, int endId);
    int insertPerson(Person person);
}

public class PersonServiceImpl implements PersonService
{
	//为service组件提供mapper组件
    private PersonMapper personMapper;
    public void setPersonMapper(PersonMapper personMapper) {
        this.personMapper = personMapper;
    }

    @Override
    public List<Person> selectPerson(int startId, int endId) {
        return personMapper.queryPerson(startId,endId);
    }

    @Override
    public int insertPerson(Person person) {
        return personMapper.addPerson(person);
    }
}

3. 配置bean

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:c="http://www.springframework.org/schema/c"
       xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd
        http://mybatis.org/schema/mybatis-spring
        http://mybatis.org/schema/mybatis-spring.xsd">

        <!--service组件需要注入mapper接口-->
        <bean id="service" class="com.lyx.service.PersonServiceImpl">
                <property name="personMapper" ref="personMapper"/>
        </bean>

        <!--Mapper组件需要注入SqlSessionFactory-->
        <bean id="personMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
                <property name="mapperInterface" value="com.lyx.dao.PersonMapper"/>
                <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
        </bean>
<!--        &lt;!&ndash;自动扫描配置mapper组件&ndash;&gt;-->
<!--        <mybatis:scan base-package="com.lyx.dao" factory-ref="sqlSessionFactory" />-->

        <!--SqlSessionFactory需要注入数据源,mybatis核心配置(非必须)-->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
                <property name="configLocation" value="mybatis-config.xml"/>
                <property name="dataSource" ref="c3p0"/>
        </bean>

        <!--配置数据源,db.properties文件里面是数据源配置信息-->
        <context:property-placeholder location="classpath:db.properties"/>
        <bean id="c3p0" class="com.mchange.v2.c3p0.ComboPooledDataSource"
              p:driverClass="${driver}"
              p:jdbcUrl="${url}"
              p:user="${user}"
              p:password="${pass}"
              p:maxPoolSize="${maxSize}"
              p:minPoolSize="${minSize}"/>
</beans>

从service组件开始配

  1. service需要配置属性:
    personMapper:指定mapper组件

  2. mapper组件需要用org.mybatis.spring.mapper.MapperFactoryBean工厂类来生成,
    需要属性:
    mapperInterface:指定mapper组件的接口
    sqlSessionFactory:为mapper接口指定SqlSessionFactory

  3. SqlSessionFactory需要用org.mybatis.spring.SqlSessionFactoryBean工厂类生成,
    需要配置属性:
    dataSource:数据源
    configLocation:MyBatis的核心配置文件(非必须)

  4. 配置数据源

需求关系:
service组件 -----> mapper组件 -----> SqlSessionFactory -----> dataSource(数据源)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值