Mybatis构建 SqlSessionFactory(只有工具类和测试类代码)

该博客介绍了如何使用Mybatis构建SqlSessionFactory,并展示了通过SqlSessionFactory获取SqlSession实例的过程。在测试类中,演示了如何利用SqlSession调用Mapper方法进行数据操作,包括查询、提交事务和关闭SqlSession。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis构建 SqlSessionFactory

基本注释代码都有

uitl类代码:

package com.jwz.uitl;

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.InputStream;

public class Uitl {
    //加载流和下方调用方法都需要sqlSessionFactory调用
    public static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            //使用mybatis的第一步,获取SqlSessionFactory对象
            //获取配置文件
            String resource = "mybatis-config.xml";
            //getResourceAsStream记得thy catch一下
            InputStream inputStream = Resources.getResourceAsStream(resource);
            //通过build加载流,
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //有了SqlSessionFactory,然后就可以从中获得sqlsession的实例了.
    //sqlsession完全包含了面向数据库执行sql命令的1所有方法
    public static SqlSession getsqlsession(){
       return sqlSessionFactory.openSession();
    }
}

Text(测试类)代码:

package com.jwz.text;

import com.jwz.dao.Userdao;
import com.jwz.eneity.User;
import com.jwz.uitl.Uitl;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class Text {
    @Test
    public void test(){
        //获取getsqlsession对象 Uitl为工厂类名,getsqlsession为uitl的方法名
        SqlSession sqlsession = Uitl.getsqlsession();
        //通过调用getmapper,调用持久层mapper
        Userdao mapper = sqlsession.getMapper(Userdao.class);
        //通过mapper调用mapper里面的方法,例如delete updete selete update,这里以返回多个为例
        List<User> getlist = mapper.getlist();
        //通过getlist.for遍历
        for (User user : getlist) {
            //输出user
            System.out.println(user);
        }
        //提交事务,除了查询以外,增删改都需要提交事务
        sqlsession.commit();
        //关闭sqlsession
        sqlsession.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寂173

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值