zoukankan      html  css  js  c++  java
  • 3、Mybatis 中用的设计模式

    //    1、读取配置文件
            /**
             * 读取配置文件的方式
             * 1、绝对路径:从磁盘位置读取配置文件,如:F:/mybatis/mybatis-config.xml,缺点可能别的机器没有F盘
             * 2、相对路径:相对路径从项目的src目录下开始,如:src/main/mybatis.xml,缺点:如果项目是web工程,一旦部署src目录消失
             * 3、使用类加载器(推荐):只能读取类路径下的配置文件
             * 4、使用ServletContext对象的getRealPath(推荐):能得到当前应用部署的绝对路径
             */
            InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
    //    2、创建SqlSessionFactory工厂
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            /**
             * 创建工厂使用了构建者模式:builder.build(in);
             * 优势:将对象的创建细节隐藏,使使用者直接调用该方法获取对象
             */
            SqlSessionFactory sqlSessionFactory = builder.build(in);
    //    3、使用工厂生产SqlSession对象
            /**
             * 生产sqlSession使用了工厂模式:sqlSessionFactory.openSession()
             * 通过工厂模式创建对象的好处:解决了硬编码问题,
             * 直接创建对象的缺点,会降低代码的灵活程度,当需要创建别的对象时,这需要进入代码中进行修改;
             * 优势:解耦(降低类之间的依赖关系)
             */
            SqlSession sqlSession = sqlSessionFactory.openSession();
    //    4、使用SQLSession创建Dao接口的代理对象
            /**
             * 创建mapper实现类使用了代理模式:sqlSession.getMapper(UserDao.class);
             * 优势:不修改源码的基础上对已有方法增强
             */
            UserDao userDao = sqlSession.getMapper(UserDao.class);
    //    5、使用代理对象执行方法
            List<User> users = userDao.findAllUser();
            for (User user: users
                    ) {
                System.out.println(user);
            }
    //     6、释放资源
            sqlSession.close();
            in.close();
    
  • 相关阅读:
    Bind 远程连接出现rndc: connect failed: 192.168.1.66#953: connection refused
    Bind 远程连接DNS服务器时出现 rndc: connection to remote host closed
    使用BIND安装智能DNS服务器(一)---基本的主从DNS服务器搭建
    虚拟机出现ping DUP
    jdk8 Optional使用详解
    lambda----jdk8重头戏
    HTTP/2协议–特性扫盲篇
    配置Tomcat使用HTTP/2
    java中重要的多线程工具类
    Redis为什么使用单进程单线程方式也这么快
  • 原文地址:https://www.cnblogs.com/Ryuichi/p/13257960.html
Copyright © 2011-2022 走看看