Spring和mybatis整合

Spring和mybatis整合

步骤

第一步 添加依赖

在pom.xml中国添加依赖

  <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.1</version>
        </dependency>

第二步

第二步 在Spring中管理SqlSessionFactory

  <bean class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 配置mybatis xml映射文件位置 -->
        <property name="mapperLocations" value="classpath:/mapper/*"/>

第三步

如果是注解的方式配置的Mapper,我们需要在Spring配置文件中添加mybatis的schema以支持mybatis注解扫描

 <context:property-placeholder location="classpath:jdbc.properties"/>

    <context:component-scan base-package="com.lanou3g.service"/>
    <mybatis:scan base-package="com.lanou3g.mapper" />

示例

配置容器

<?xml version="1.0" encoding="UTF-8"?>
<beans    xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    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
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://mybatis.org/schema/mybatis-spring
    http://mybatis.org/schema/mybatis-spring.xsd">

    <context:property-placeholder location="classpath:jdbc.properties"/>

    <context:component-scan base-package="com.lanou3g.service"/>
    <mybatis:scan base-package="com.lanou3g.mapper" />


    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="url" value="${table.jdbc.url}"/>
        <property name="driverClassName" value="${table.jdbc.driver}"/>
        <property name="username" value="${table.jdbc.user}"/>
        <property name="password" value="${table.jdbc.password}"/>
    </bean>

    <bean class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 配置mybatis xml映射文件位置 -->
        <property name="mapperLocations" value="classpath:/mapper/*"/>
    </bean>

</beans>

通过mybatis映射方法

List<Message> selectByExample(MessageExample example);
 <select id="selectByExample" parameterType="com.lanou3g.bean.MessageExample" resultMap="BaseResultMap">
        select
        <if test="distinct">
            distinct
        </if>
        <include refid="Base_Column_List"/>
        from message
        <if test="_parameter != null">
            <include refid="Example_Where_Clause"/>
        </if>
        <if test="orderByClause != null">
            order by ${orderByClause}
        </if>
    </select>

spring容器调用

 public static void main(String[] args) throws SQLException {

        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        MessageServiceImpl messageService = ctx.getBean(MessageServiceImpl.class);
        List<Message> messageList = messageService.queryAll();
        log.info("" + messageList);
    }

输出结果

[Message{id=1, fromId=1, toId=2, subject='好烦', content='好烦啊', createtime=Mon Jun 10 10:15:01 CST 2019, status=1, attachment='http://localhost:8080/sms/upload/3_1560132731828.png'}
, Message{id=2, fromId=1, toId=2, subject='好烦1', content='111', createtime=Mon Jun 10 10:17:06 CST 2019, status=1, attachment='http://localhost:8080/sms/upload/a_1560132993286.jpg'}
, Message{id=3, fromId=1, toId=2, subject='好烦2', content='昂发', createtime=Mon Jun 10 11:35:54 CST 2019, status=1, attachment='http://localhost:8080/sms/upload/sms_btn_goback_1560137747015.png'}
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值