spring + mybatis简单详细整合步骤

spring+mybatis+c3p0整合

  1. 准备工作
    所需要的jar包可在下面的连接下载
    spring核心包下载点这
    mybatis核心包点这
    mybatis-spring整合包点这
    c3p0 jar包点这
    版本匹配问题
    这里写图片描述
    c3p0建议下载0.9.5版本的jar包
    工程目录结构
    这里写图片描述
  2. 解压所有下载好的压缩文件,将jar包导入到自己建好的java工程中,如下图
    这里写图片描述
    接上图
    添加好jar包后不要忘了将他们add to buildpath
  3. 整合配置
    在config下新建applicationContext.xml,db.properties,log4j.properties,配置内容如下
    mybatis-config.xml
<?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>
<!-- 这里我通过mybatis加载mapper的配置文件,也可以在applicationContext.xml 中加载,方法会在后续文章中发布-->
    <mappers>
        <mapper resource="sqlmap/book.xml"/>
        <mapper resource="mapper/bookMapper.xml"/>
    </mappers>

</configuration>

applicationContext.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"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    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://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx.xsd">

    <!--加载db.properties文件  -->
    <context:property-placeholder location="classpath:db.properties"/>

    <!-- 配置数据库连接,运用c3p0连接池连接 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass" value="${jdbc.driver}"></property>
        <property name="jdbcUrl" value="${jdbc.url}"></property>
        <property name="user" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>
    <!-- 配置sqlSessionFactory 加载mybatis的配置文件-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="configLocation" value="mybatis/mybatis-config.xml"></property>
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!-- 配置dao类  class的值是其实现类的路径-->
    <bean id="bookDao" class="com.yhk.dao.impl.BookDaoImpl">
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>
</beans>

log4j.properties

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

db.properties

jdbc.driver =com.mysql.jdbc.Driver
jdbc.url =jdbc:mysql://localhost:3306/cart
jdbc.user=root
jdbc.password=123456

到这配置文件已基本完成
4. 测试整合的框架
使用junit测试

import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.yhk.dao.BookDao;
import com.yhk.po.Book;

public class BookDaoImplTest {

    private ApplicationContext applicationContext;
    @Before
    public void setUp() throws Exception {
        applicationContext=new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml");
    }

    @Test
    public void testFindBookById() throws Exception {
        BookDao dao=(BookDao) applicationContext.getBean("bookDao");

        Book book=dao.findBookById(33);

        System.out.println(book);
    }
}

运行结果
这里写图片描述
黄色部分是从数据库查到的结果,将其映射到Book类的对象中

猜你喜欢

转载自blog.csdn.net/kk1066/article/details/81782244