首页 > 其他 > 详细

MyBatis

时间:2021-04-17 17:35:29      阅读:19      评论:0      收藏:0      [点我收藏+]

什么是 MyBatis ?


  MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

理解:基于Java持久层框架,内部封装了jdbc,开发者只需要关系sql语句本身。

   采用ORM的思想解决了实体和数据库映射的问题,对JDBC进行了封装,同时屏蔽了jdbc API底层访问细节。

  ORM:将数据库表和实体类及实体类的属性对应起来,通过操作实体类就实现数据库的操作。

      注意:实体类 的属性与数据库表 的字段名一一对应

技术分享图片

一,三层架构

  1,视图层:展示数据

  2,业务层:处理业务需求

  3,持久层:与数据进行交互

二,mybatis入门

  1,步骤

    1.1,创建maven工程并导入坐标

    1.2,创建实体类和dao接口

    1.3,创建mybatis的主配置文件

        SqlMapConifg.xml

    1.4,创建映射配置文件

        IUserDao.xml

  2,注意事项:

    第一:创建IUserDao.xml和IUserDao.java时文件的路径要一致

    第二:包在创建:com.itheiam.doa是三级目录

       目录在创建时:com.itheiam.doa是一级目录·

    第三:mybatis的映射配置文件位置必须和dao接口的包结构相同

    第四:映射配置文件的mapper标签的namespace属性的取值必须是dao接口的全限定类

      技术分享图片

    第五,映射配置文件的操作配置(select等)id属性的取值必须是dao接口的方法名

         技术分享图片

    第六:满足以上要求就不用实现对应的接口

public static void main(String[] args) throws IOException {
        //1.读取配置文件
        InputStream in=Resources.getResourceAsStream("SqlMapConfig.xml");
        
        //2.创建SqlSessionFactory工厂
        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
        SqlSessionFactory factory=builder.build(in);//创建工厂使用了构建者模式
        //3.使用工厂生产SqlSession对象
        SqlSession session=factory.openSession();//工厂模式
        //4.使用SqlSession创建Dao接口的代理对象
        IUserDao userDao=session.getMapper(IUserDao.class);//代理模式
        
        //5.使用代理对象执行方法
        List<User> users=userDao.findAll();
        for(User user:users) {
            System.out.println(user);
        }
        //6.释放资源
        session.close();
        in.close();
    }

 注意:1.读取配置文件时用的路径不要使用绝对路径,也不要使用相对路径

    使用类加载器,只能读取类路径的配置文件,或者,使用ServlerContext对象的getRealPath()

    2.构建者模式:把对象的创建细节隐藏,让使用者直接调用方法即可拿到对象。

    3.工厂模式:优势:解耦降低类之间的依赖关系

    4.代理模式:优势:不修改源码的基础上对已有的方法增强

 

 

MyBatis

原文:https://www.cnblogs.com/gjx1212/p/14666059.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!