前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mybatis针对入门案例的设计模式分析 读取配置信息的方法 设计模式(后面补详细

Mybatis针对入门案例的设计模式分析 读取配置信息的方法 设计模式(后面补详细

原创
作者头像
韦恩少爷的背
修改2020-02-19 14:41:20
3370
修改2020-02-19 14:41:20
举报
文章被收录于专栏:SSM框架学习

针对入门案例的设计模式分析

主要分析的是main函数里面的各个步骤

代码语言:javascript
复制
        //1.读取配置文件 目的是将SqlMapConfig.xml的信息加载进去
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
                                                        /**链接数据库的信息*/
        //2.创建SqlSessionFactory工厂
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
                                                /**有了工厂就可以操作生产对象*/
        SqlSessionFactory factory = builder.build(in);
        //3.使用工厂生产SqlSession对象
        //  只有Dao的接口没有具体功能的实现所以得想办法把实现加出来
        SqlSession session=factory.openSession();
        /**这个对象就可以操作数据库(非直接,用dao操作)*/
        //4.使用SqlSession创建Dao接口的代理对象
        IUserDao userDao = session.getMapper(IUserDao.class);
        /**括号内的dao接口,我们只有dao接口所以要创建代理对象*/
        //5.使用代理对象执行方法
        List<User> users =userDao.findAll();
        for(User user: users){
            System.out.println(user);//打印的功能
        }
        //6.释放资源
        session.close();
        in.close();

解析 放大看图!!

Mybatis入门案例设计模式分析
Mybatis入门案例设计模式分析

名词解读

读取方式

一、采用ClassLoader方式进行读取配置信息

代码语言:javascript
复制
ClassLoader cl = 类名.class.getClassLoader();

优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息

缺点:只能加载类src下面的资源文件,不适合装载大文件,否则会导致jvm内存溢出

二、调用类加载器对象的方法

代码语言:javascript
复制
public InputStream getResourceAsStream(String name);

使用的是当前类的相对路径

设计模式

(后面写详细点附上链接 暂时大家可以看看其他人写的 不难理解

构建者模式

把对象的创建细节隐藏,是使用者直接调用方法即可拿到对象

工厂模式

降低类之间的依赖关系(解耦)

构代理模式

不修改源码的基础上对已有方法增强

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 针对入门案例的设计模式分析
    • 解析 放大看图!!
      • 名词解读
        • 读取方式
        • 设计模式
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档