spring整合mybatis

  在项目中添加spring和mybatis的jar包依赖。配置三个文件,分别如下:

#db-config.properties属性文件
db.driverName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=UTF-8
db.username=root
db.pwd=123456
db.maxPoolSize=500
db.maxIDEL=5000
-----------------------------------------------------------------
#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>
    <mappers>
        <!--声明映射的包路径-->
        <package name="com.itszt.dao"></package>
    </mappers>
</configuration>
-----------------------------------------------------------------
#spring-config.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.itszt.dao,com.itszt.service"></context:component-scan>
    <!--引入连接池配置文件-->
    <context:property-placeholder location="classpath:config/db-config.properties"></context:property-placeholder>
    <!--配置C3P0连接池-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${db.driverName}"></property>
        <property name="jdbcUrl" value="${db.url}"></property>
        <property name="user" value="${db.username}"></property>
        <property name="password" value="${db.pwd}"></property>
        <property name="maxPoolSize" value="${db.maxPoolSize}"></property>
        <property name="maxIdleTime" value="${db.maxIDEL}"></property>
    </bean>

    <!--配置SqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="configLocation" value="classpath:config/mybatis-config.xml"></property>
        <property name="typeAliasesPackage" value="com.itszt.domain"></property>
    </bean>

    <!--以配置文件的形式配置一个userDaoImpl,这一步可以替代mybatis-config.xml中的<mappers>配置-->
    <!--<bean id="userDao" class="com.itszt.dao.UserDaoImpl">
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>-->
</beans>

  接下来是操作映射的接口和文件:

package com.itszt.dao;
import com.itszt.domain.User;
/**
 * 接口,实体类User此处略
 */
public interface UserDao {
    public User findUserByID(int uid);
}
------------------------------------------------------------------
#UserDao.xml文件,与UserDao在同一包下
<?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">
<!--
  保证命名空间,和接口的全类名一致
-->
<mapper namespace="com.itszt.dao.UserDao">
    <select id="findUserByID" parameterType="int" resultType="user">
         SELECT * FROM user WHERE uid=#{uid}
    </select>
</mapper>

  测试类:

import com.itszt.dao.UserDao;
import com.itszt.domain.User;
import com.itszt.service.UserService;
import javafx.application.Application;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * 测试类
 */
public class Test {    
    public static void main(String[] args) {
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("config/spring-config.xml");
        UserDao userDao = applicationContext.getBean("userDao", UserDao.class);
        User userByID = userDao.findUserByID(2);
        System.out.println("userByID = " + userByID);
    }
}  
原文地址:https://www.cnblogs.com/lizhangyong/p/8633560.html