spring整合mybatis


需要导入的依赖

    

        
            junit
            junit
            4.12
            test
        

        
            org.springframework
            spring-webmvc
            5.1.10.RELEASE
        

        
            org.projectlombok
            lombok
            1.16.12
            provided
        
        
        
            mysql
            mysql-connector-java
            5.1.47
        


        
        
            org.mybatis
            mybatis
            3.5.2
        

        
            org.mybatis
            mybatis-spring
            2.0.2
        
        
            org.springframework
            spring-jdbc
            5.1.9.RELEASE
        

        
        
            org.aspectj
            aspectjweaver
            1.9.4
        

        
        
            log4j
            log4j
            1.2.12
        

    

    
    
        
            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                
                false
            
            
                src/main/resources
                
                    **/*.properties
                    **/*.xml
                
                false
            
        
    

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
"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"
       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">

    "classpath:spring-dao.xml">
    

jdbcConfig.xml配置文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mysql9527
jdbc.username=root
jdbc.password=root

log4j.properties配置文件

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=debug, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

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">


    
    
        "com.kuang.pojo"/>
    

spring-dao.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
"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"
       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">


    "classpath:jdbcConfig.properties" system-properties-mode="FALLBACK">
    
    "dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        "driverClassName" value="${jdbc.driver}">
        "url" value="${jdbc.url}">
        "username" value="${jdbc.username}"/>
        "password" value="${jdbc.password}">
    

    
    "sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        "dataSource" ref="dataSource">
        
        "configLocation" value="classpath:mybatis-config.xml">
        
        "mapperLocations" value="classpath:com/kuang/mapper/*.xml">
    


    
    "sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        
        "0" ref="sqlSessionFactory">
    

    
    "userMapper" class="com.kuang.mapper.UserMapperImpl">
        
        "sqlSession" ref="sqlSession">
    

实体类

package com.kuang.pojo;
import lombok.Data;
import java.io.Serializable;
@Data
public class User implements Serializable {
    private int id;
    private String name;
    private String pwd;
}

接口

package com.kuang.mapper;
import com.kuang.pojo.User;
import java.util.List;
public interface UserMapper {
    public List selectUser();
}

sql.xml写sql语句的配置文件

<?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="com.kuang.mapper.UserMapper"> <select id="selectUser" resultType="user"> select * from user; select>

实现类

package com.kuang.mapper;
import com.kuang.pojo.User;
import org.mybatis.spring.SqlSessionTemplate;
import java.util.List;
public class UserMapperImpl implements UserMapper {

    private SqlSessionTemplate sqlSession;

    public void setSqlSession(SqlSessionTemplate sqlSession) {
        this.sqlSession = sqlSession;
    }

    public List selectUser() {
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        return mapper.selectUser();
    }
}