saas-export项目-项目搭建之spring与Mybatis的整合

spring整合Mybatis

检查 pom.xml

有没有spring与mybatis的整合包

     <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>${mybatis.spring.version}</version>
        </dependency>

export_dao

  • (1)properties/db.properties
  • (2)spring/applicationContext.xml
  • (3)定义ICompanyDao
  • (4)定义ICompanyDao.xml
  • (5)测试

properties/db.properties

# key=value
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://47.115.79.211:3308/saas-export?characterEncoding=utf-8
jdbc.username=root
jdbc.password=admin123

spring/applicationContext-dao.xml

子工程,dao子工程的交给spring管理,创建一个对应的applicationContext-dao.xml

<?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:context="http://www.springframework.org/schema/context"
       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">

    
    <context:component-scan base-package="com.lbl">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
    
    
    <!--读取db.properties文件-->
    <context:property-placeholder location="classpath:properties/db.properties"></context:property-placeholder>

    <!--1.配置数据源-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="url" value="${jdbc.url}"/>
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

    <!--2.配置Spring整合Mybatis *** 由Spring创建SqlSessionFactory对象-->
    <!--2.1 配置SqlSessionFactoryBean-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--注入数据源-->
        <property name="dataSource" ref="dataSource"/>
        <!-- com.wzx.domain.company.Company  company-->
        <property name="typeAliasesPackage" value="com.lbl.domain"/>
    </bean>

    <!--2.2 配置Dao接口所在包 动态代理 session.getMapper(Dao.class)-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--指定Dao接口所在包-->
        <property name="basePackage" value="com.lbl.dao"/>
    </bean>

</beans>

ICompanyDao

public interface ICompanyDao {
    
    
    //查询所有的公司记录
    //select * from ss_company
    List<Company> findAll();
}

ICompanyDao.xml

<?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" >
<!--namespace: 需要映射的Dao接口类型-->
<mapper namespace="com.lbl.dao.company.ICompanyDao">

    <select id="findAll" resultType="company">
        select * from ss_company
    </select>
</mapper>

ICompanyDaoTest

package com.lbl.dao.company;

import com.lbl.domain.Company;
import junit.framework.TestCase;
import org.apache.log4j.Logger;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.List;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath*:spring/applicationContext-*.xml")
public class ICompanyDaoTest extends TestCase {
    
    

    private static final Logger log = Logger.getLogger(ICompanyDaoTest.class.getName());

    @Autowired
    ICompanyDao companyDao;

    @Test
    public void testFindAll() {
    
    
        List<Company> list = companyDao.findAll();
        log.info(list);
        Assert.assertNotNull(list);
    }
}

运行结果:

!在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37924905/article/details/109229322
今日推荐