Spring-通过mybatis操作数据库


1,编写数据源

2,sqlSessionFactory

3,sqlSessionTemplate

4,添加接口实现类

5,单元测试

User.java

package com.miao.pojo;

import lombok.Data;

@Data
public class User {
    private int id;
    private  String name;
    private  String pwd;
}

UserMapper

package com.miao.mapper;

import com.miao.pojo.User;

import java.util.List;

public interface UserMapper {
    public List selectUser();
}

UserMapperImpl.java

package com.miao.mapper;

import com.miao.pojo.User;
import org.mybatis.spring.SqlSessionTemplate;

import java.util.List;

public class UserMapperImpl implements UserMapper{

    //之前操作mybatis都使用sqlSession,现在都使用sqlSessiontemplate

    private SqlSessionTemplate sqlSessionTemplate;
    public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate)
    {
        this.sqlSessionTemplate=sqlSessionTemplate;
    }

    public List selectUser() {
        List userList = sqlSessionTemplate.getMapper(UserMapper.class).selectUser();
        return userList;
    }
}

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">



    


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



    

    
    


    
    
        
        
        
    

    
    
        <package name="com.miao.pojo"/>
    




    
    
    

spring-dao.xml

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

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop
        https://www.springframework.org/schema/aop/spring-aop.xsd
">



    

    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        
        
        
        
    

    
    class="org.mybatis.spring.SqlSessionFactoryBean">
        
        
        
        
    

    
    class="org.mybatis.spring.SqlSessionTemplate">
        
        
    





applicationContext.xml

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

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop
        https://www.springframework.org/schema/aop/spring-aop.xsd
">
    <import resource="spring-dao.xml"/>


    class="com.miao.mapper.UserMapperImpl">
        
    


test.java

import com.miao.mapper.UserMapper;
import com.miao.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class test {
    @Test
    public void test1() throws IOException {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserMapper userMapper = context.getBean("userMapper", UserMapper.class);

        for (User user : userMapper.selectUser())
        {
            System.out.println(user);
        }
    }

}