image.png
    在定义了一个全局变量了的值(不在方法里面,或者{}中,就是全局变量)
    在局部中,不加类型,直接用全局变量 = 值 即可进行全局变量的初始化
    image.png
    image.png

    1. package com.itheima.util;
    2. import org.apache.ibatis.io.Resources;
    3. import org.apache.ibatis.session.SqlSessionFactory;
    4. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    5. import java.io.IOException;
    6. import java.io.InputStream;
    7. public class SqlSessionFactoryUtils {
    8. // 这里创建一个全局的变量(工厂对象,然后在静态代码块中进行初始化值)
    9. private static SqlSessionFactory sqlSessionFactory;
    10. // 定义一个静态代码块,随着类加载,只调用一次,在这里也就工厂只创建一次对象
    11. static {
    12. // 2. 调用MyBatis完成查询
    13. // 2.1 获取SqlSessionFactory对象 (去官网查,不要记 改路径即可)
    14. try {
    15. String resource = "mybatis-config.xml"; // 在resources目录的下面,直接写名字即可
    16. InputStream inputStream = Resources.getResourceAsStream(resource);
    17. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    18. } catch ( Exception e) {
    19. e.printStackTrace();
    20. }
    21. }
    22. public static SqlSessionFactory getSqlSessionFactory() {
    23. // 在方法中return出去,即可实现别的类一调用其方法,就得到改工厂对象
    24. return sqlSessionFactory;
    25. }
    26. }