当前位置 : 主页 > 编程语言 > c++ >

MyBatis - 入门理解

来源:互联网 收集:自由互联 发布时间:2021-07-03
MyBatis - 入门理解 -MyBatis学习 -1.什么是MyBatis -持久层(数据访问层--DAO)框架 -2.核心 -- SqlSessionFactory实例 -创建 -- 通过XML配置文件(mybatis-config.xml) -1)SqlSessionFactory的实例可以通过SqlSessionFa
MyBatis - 入门理解
-MyBatis学习
    -1.什么是MyBatis
        -持久层(数据访问层--DAO)框架
    -2.核心 -- SqlSessionFactory实例
        -创建 -- 通过XML配置文件(mybatis-config.xml)
            -1)SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder获得
            -2)SqlSessionFactoryBuilder则可以从XML配置文件或预先定制的Configuration实例构建出SqlSessionFactory实例
            -3)XML配置文件中包含了对MyBatis系统的核心设置(包含数据库连接实例的数据源dataSource)
        -创建 -- 通过Java程序(不使用XML)
            -暂时不作了解(查看文档了解)

-标准(通过XML配置文件)创建代码(来源于MyBatis文档)
    /**代码段: 读取mybatis-config配置文件,根据此配置文件通过SqlSessionFactoryBuilder()的build()方法构建sqlSessionFactory实例*/
    String resource = "org/mybatis/example/mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    SqlSeesionFactory sqlSeesionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    
    -3.使用 -- SqlSession实例
        -1.创建 -- 通过SqlSessionFactory的openSession()方法获取SqlSession实例
            -eg: SqlSession session = sqlSessionFactory.openSession();
        -2.作用 -- 完全包含了面向数据库执行SQL命令所需的所有方法(Sql映射XML)
        -3.具体使用
            -1)映射SQL语句(XxxxxMapper.XML)
                -
 
  
                    -映射SQL语句集合 -- insert delete select update等
                -
 
            -2)映射SQL语句导入XML配置文件(mybatis-config.xml)
                -通过mappers标签导入多个mapper,在XML配置文件中了解
            -3)session.getMapper(Class
 
   c)方法
                -session从配置文件加载了所有的SqlMethod方法
                -所以,通过getMapper(Class
  
    c)方法与映射语句标签namepace属性的运用,所有方法都可以归于某个对应的Dao层接口下 -然后,通过getMapper(Class
   
     c)获取对应接口下的方法集合 -4)session.getMapper(Class
    
      c).sqlMethod(args...); -1.session通过命名空间找到对应的Sql方法映射集合从而调用Sql方法 -2.session通过Dao层接口名找到对应接口内部定义的sql方法 -3.即通过XxxxxMapper.XML文件映射SQL语句动态生成对应namepace指定接口内部方法的实现 -4.args...可能传递的方法形参 -4.作用域(Scope)和生命周期 -SqlSessionFactoryBuilder -只用于创建SqlSessionFactory -最佳作用域: 方法作用域(局部方法变量) -SqlSessionFactory -运行期间不要重复创建多次,使用单例或静态单例模式 -最佳作用域: 应用作用域(一旦创建就在应用的运行期间一直存在) -SqlSession -每个线程都拥有SqlSession实例(不是线程安全,不能线程共享) -SqlSession实例本质应该是对数据库连接的封装 -最佳作用域: 请求或方法作用域(绝不能将其实例引用放在类的静态域中) -每次调用结束后就执行关闭操作(fianlly块) -映射器实例(Mapper Instances) -即Session().openSession().getMapper(Class
     
       c); -创建绑定响应接口的映射语句 -最佳作用域: 方法作用域(调用它们的方法中请求,方法结束就废弃) -理解 -核心: 持久层框架 -通过mybatis-config.XML创建SqlSessionFactory -通过映射器(XxxxxMapper.xml)绑定相应接口方法
     
    
   
  
 
网友评论