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

it2026-08-27  6

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); } }

运行结果:

! 在这里插入图片描述

最新回复(0)