JavaEE——MyBatis的核心对象

核心对象的分类:

Resource:用来将核心配置对象解析成为流的形式

SqlSessionFactoryBuilder:用来解析核心配置文件并根据配置文件,生成SqlSessionFactory对象

SqlSessionFactory:根据传递的参数不同,用来创建不同的SqlSession对象

SqlSession:用来对话持久层和应用程序的中间件,是用来执行SQL语句的非常重要的部分。

核心对象的主要方法和参数:

Resource:

getReaourceAsSteam("File"):将核心配置文件封装为为流的形式,作为参数传递给工厂类

SqlSessionFactoryBuilder:

build(InputSteam inoutsteam,String enviroment,Properties proerties):创建SqlSession对象的方法,第一个参数是核心配置文件流,第二个参数用来设置运行环境,第三个参数为外部的参数文件。后两个参数都是可以省略的。

SqlSessionFactory:

openSession:决定以何种形式创建SqlSession对象。当没有参数或者参数是一个布尔值的时候,表示开启一个事务,获取一个可执行的SqlSession对象。当参数为ExecutoType时,表示设置一个执行器,其中的可选值为:

ExecutoType.SIMPLE:表示为每一条SQL语句创建一条预处理的语句,无论是否相同,占用骄傲多资源

ExecutoType.REUSE:表示会复用预处理语句,每当执行预处理过的语句时将不会再进行预处理,比较节省资源

ExecutoType.BATCH:批量操作增删改

SqlSession:

SelectOne(String statment,Obiect parmeter):查询方法,返回的结果只能是一个或零个。statment是SQL映射文件中的唯一标识,parmeter是查询时需要传递的参数

selectList(String statment,Obiect parmeter):查询方法,返回的结果可以是一个或零个,也可以是多个,如果是多个,将会存储在数组中。

insert(String statment,Object parmeter):插入方法

delete(String statment,Object parmeter):删除方法

update(String statment,Object parmeter):更新方法

comment():手动提交事务方法

rellback():手动回滚事务方法

close():关闭连接,释放资源方法

<T> T getMapper(class <T> type):该方法会返回Mapper接口所映射的代理对象,该对象关联了Session对象,开发人员可以使用该对象直接调用相应的方法操作数据库。

getConnection():获取JDBC数据库连接对象的方法

核心对象的使用:

核心对象的基本使用顺序就是:

1.首先使用Resource对象将核心配置文件的配置信息封装在流中

2.将流对象作为参数传递给SqlSessionFactoryBuilder的build方法,创建出SqlSessionFactory对象

3.通过SqlSessionFactory的openSession方法创建出对应的SqlSession对象

4.使用SqlSession方法执行映射文件中的SQL语句

测试MyBatis配置文件的正确性:

在之前我们已经编写好了所有我们需要使用的配置文件,接下来就是使用对象和方法将这些配置文件调用起来,测试一下能否通过这些文件查询出我们想要的数据:

首先我们创建一个Java类,然后在里面编写相关的代码,并按照上面我们写的顺序使用MyBatis的核心类:

 正确写完之后,我们就可以运行程序得出结果:

 如果不确定是否正确,可以在数据库中单独运行SQL语句查看是否正确。

最终的结果是正确的,说明我们的配置没有问题。详细代码如下:

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

public class Test {
    public static void main(String[] args) throws Exception{
//        1.将核心配置文件封装成流的形式
        InputStream stream = Resources.getResourceAsStream("mybatis.xml");
//        2.将流对象作为参数传递给SqlSessionFactoryBuilder的build方法,创建出SqlSessionFactory对象
        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(stream);
//        3.通过SqlSessionFactory的openSession方法创建出对应的SqlSession对象
        SqlSession session = build.openSession(true);
//        4.使用SqlSession方法执行映射文件中的SQL语句,这里的参数是由SQl映射文件中的命名空间.SQL语句唯一标识组成的
        int o = session.selectOne("Mappers.selectOne");
//        最终输出查询的结果,我们查询的是所有的行数,所以结果是正确的
        System.out.println(o);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值