Mybatis采用Mapper的方式发送SQL操作数据库

之前用了SqlSession的selectOne()方法来发送Sql查询了数据,但是使用SqlSession的这些方法操作数据库不够直观。我们一般情况下都是用Mapper的方法来发送Sql的。

package com.atbleuuu.mybaits.test;

import com.atbleuuu.mybaits.mapper.UserMapper;
import com.atbleuuu.mybaits.po.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 java.io.IOException;
import java.io.Reader;

public class Mybaits001Test {
    public static void main(String[] args) {
        //首先获取一个SqlSessionFactoryBuilder对象用来创建SqlSessionFactary
        SqlSessionFactoryBuilder SessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //加载对应配置文件
        try ( Reader confingReader = Resources.getResourceAsReader("mybatis-config.xml")){
            //创建SqlSessionFactory
            SqlSessionFactory sessionFactory = SessionFactoryBuilder.build(confingReader);
            //创建SqlSssion
            SqlSession sqlSession = sessionFactory.openSession();
            //查询对应的数据
           // User user = sqlSession.selectOne("com.atbleuuu.mybaits.mapper.UserMapper.getUserById",1);
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            User user = userMapper.getUserById(1);

            //打印数据
            System.out.println(user);
            //关闭sqlSession
            sqlSession.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

动态代理的方式: getMapper的方式可以创建一个我们可以直接使用的接口


 

最后附上结果

 

 

Guess you like

Origin blog.csdn.net/Bleuuuu/article/details/120292864