spring与mybatis的整合


  1. 项目结构

Dao

 userDaoImpI实现类   第三种方式

package com.whz.dao;
import com.whz.pojo.User;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import java.util.List;

public class UserDaoImpl extends SqlSessionDaoSupport implements UserMapper  {
    public List selectUser() {
        return getSqlSession().getMapper(UserMapper.class).selectUser();
    }
}

UserMapper接口

package com.whz.dao;
import com.whz.pojo.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;

public interface UserMapper {

    List selectUser();
}

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>


    

UserMapperImp实现类  第二种方式

package com.whz.dao;
import com.whz.pojo.User;
import org.mybatis.spring.SqlSessionTemplate;
import java.util.List;

public class UserMapperImp implements UserMapper {
    private SqlSessionTemplate sqlsession;
    public void setSqlsession(SqlSessionTemplate sqlsession) {
        this.sqlsession = sqlsession;
    }

    public List selectUser() {
        //使用mapper是由配置文件一路传值过来
        UserMapper mapper = sqlsession.getMapper(UserMapper.class);
        return mapper.selectUser();
    }
}

pojo

User.java

package com.whz.pojo;
import lombok.Data;

@Data
public class User {
    private String  account;
    private String password;
    private String name;


}

test

package com.whz.test;
import com.whz.dao.UserMapper;
import com.whz.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.List;

public class test {
    public static void main(String[] args) {
        ApplicationContext app= new ClassPathXmlApplicationContext("spring-dao.xml");
        UserMapper userMapper = (UserMapper) app.getBean("userDao");
        List users = userMapper.selectUser();
        for (User user: users){
            System.out.println(user.getName());
        }
    }
}

resources

db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/web?characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT
jdbc.username=root
jdbc.password=1234

mybatis-config.xml 第二种、第三种方式会用到。

<?xml version="1.0" encoding="UTF-8" ?>



    
        
    

    

        
    

spring-dao.xml

<?xml version="1.0" encoding="UTF-8"?>

web

pom文件

<?xml version="1.0" encoding="UTF-8"?>

    
        Mybits
        com.whz
        1.0-SNAPSHOT
    
    4.0.0

    Mybatis03
    


        
            junit
            junit
            4.12
        


        
            org.mybatis
            mybatis
            3.5.2
        


        
            mysql
            mysql-connector-java
            5.1.47
        


        
            org.springframework
            spring-webmvc
            5.1.10.RELEASE
        
        
            org.springframework
            spring-jdbc
            5.1.10.RELEASE
        


        
        
            org.aspectj
            aspectjweaver
            1.9.4
        


        
            org.mybatis
            mybatis-spring
            2.0.2
        
        
            org.projectlombok
            lombok
            1.18.20
            compile
        
    
    
        
            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                
                false
            

            
                
                    src/main/resources