Spring5学习笔记(四)整合MyBatis

小妙招:如果遇到资源导出问题,且添加build标签无用的情况下,直接手动拷过去拉倒


一、方式一

1. 导包 

    
        
            junit
            junit
            4.13.2
            test
        
        
            mysql
            mysql-connector-java
            8.0.25
        
        
            org.mybatis
            mybatis
            3.5.7
        
        
            org.mybatis
            mybatis-spring
            2.0.6
        
        
            org.springframework
            spring-webmvc
            5.3.8
        
        
            org.springframework
            spring-jdbc
            5.3.8
        
        
            org.aspectj
            aspectjweaver
            1.9.7
        
        
            org.projectlombok
            lombok
            1.18.20
            provided
        
    

 2. 编写实体类 

package pojo;

import lombok.Data;

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

 3. 编写核心配置文件 

数据库的配置,mapper的注册都转移到了spring-dao.xml,也就是之前的 beans.xml,现在叫spring-dao.xml

Spring5学习笔记(四)整合MyBatis_第1张图片




    
        
    
    

 4. 编写接口 

Spring5学习笔记(四)整合MyBatis_第2张图片

package dao;//用于操控实体类 User.java

import pojo.User;
import java.util.List;

public interface UserMapper {
    //声明getUserList方法,返回值是User列表
    List getUserList();

}

 5. 编写接口xml实现 

Spring5学习笔记(四)整合MyBatis_第3张图片





    

6. 接口的实现类 

Spring5学习笔记(四)整合MyBatis_第4张图片

package mapper;

import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.SqlSessionTemplate;
import pojo.User;

import java.util.List;

public class UserMapperImpl implements  UserMapper{
    //以前 所有操作通过sqlSession来执行;现在使用SqlSessionTemplate
    private SqlSessionTemplate sqlSession;

    public UserMapperImpl(SqlSessionTemplate sqlSession) {
        this.sqlSession = sqlSession;
    }

    @Override
    public List getUserList() {
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        return mapper.getUserList();
    }
}

7.  bean配置文件 

在这里进行数据库连接配置,新建sqlSessionFactory对象,新建sqlSession对象

 Spring5学习笔记(四)整合MyBatis_第5张图片




    
        
        
        
        
    

    
        
        
        
        
    

    
    
        
        
    

在这里新建接口的实现类对象

Spring5学习笔记(四)整合MyBatis_第6张图片

 




    

    
    
        
    

 

 8. 测试 

Spring5学习笔记(四)整合MyBatis_第7张图片

package dao;


import mapper.UserMapper;
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.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import pojo.User;


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


public class UserDaoTest {
    @Test
    public void test() throws IOException {
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-dao.xml");
        UserMapper userMapper = context.getBean("userMapper",UserMapper.class);
        for (User user:userMapper.getUserList()){
            System.out.println(user);
        }
    }

}

 二、方式二

只要修改两个地方即可

Spring5学习笔记(四)整合MyBatis_第8张图片

 

三、事务Spring5学习笔记(四)整合MyBatis_第9张图片

你可能感兴趣的:(Spring5学习笔记)