JavaEE——MyBatis的核心对象

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。JavaEE——MyBatis的核心对象,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

核心对象的分类:

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的核心类:

JavaEE——MyBatis的核心对象

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

JavaEE——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);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153324.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!