Mybatis学习笔记(一)

1.什么是Mybatis?

  • 概念
  • Mybatis是一款优秀的基于ORM的,且面向sql的持久层框架,主要用于动态构造Sql方面.

  • 可以使用XML或注解用于配置和原始映射(原生Map)

  • 可以将接口和普通Java对象映射成数据库中的记录

  • MyBatis避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集

  • 但是不管什么持久层框架,底层用的都是jdbc.

注:(关于mybatis和hibernate的区别我在另一篇文章会说)

2.为什么不用JDBC?

  • 缺点
  • Jdbc频繁创建打开,关闭数据连接太消耗资源.

  • sql语句有硬编码嫌疑,不利于维护.

  • sql参数设置硬编码,不利于维护.

  • 结果集参数获取与遍历复杂,存在硬编码,不利于维护,期望能够查询后返回一个java对象

3.Mybatis执行流程(架构体系)

  • 流程
  • mybatis有一个主配置文件(核心配置文件),还要依赖多个映射文件(有多少张表有多少个映射文件).

  • 加载配置文件可以通过SqlSessionFactoryBuilder来创建,得到一个SqlSessionFactory.

  • 再创建一个SqlSession接口,这个接口只负责调用,调用下面的一个执行器,执行器会帮我们包装一些东西,会创建一个MapStatement(和jdbc创建Preparement一样),它会访问数据库,在这之前它会接受输入映射(简单数据类型,pojo)最后会输出映射(简单数据类型,pojo,list).

4.如何在项目中应用Mybatis框架呢?

(1)准备工作

  • 我们拿顾客和订单的例子来说明,在数据库中创建两个表,一个顾客表,一个订单表.
    user表
    在这里插入图片描述
    order表
    在这里插入图片描述

  • 如图,新建一个java项目,web项目也可以,建如图所示的目录结构,创建Source Folder,起名config;创建Folder,起名lib.

    在这里插入图片描述

  • src的目录结构

    在这里插入图片描述

  • config文件夹内我们要创建好所需要的配置文件,里面内容先不写.(注:只是创建而已)

    在这里插入图片描述

  • 导包,lib目录放入我们需要的包

    在这里插入图片描述

(2)配置文件说明

  • jdbc.properties是数据库信息的配置文件,这个应该都知道,我们连接数据库需要数据库的驱动,用户名和密码

  • log4j.properties就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境

  • SqlMapConfig.xml就是我们Mybatis的主配置文件
    在这里插入图片描述
    在这里插入图片描述

  • configuration : MyBatis所有的配置信息都保存在Configuration对象之中,配置文件中的大部分配置都会存储到该类.

  • properties标签 : 加载数据库配置文件,resource是数据库配置文件名,因为主配置文件和数据库配置文件在同一目录下所以直接写文件名,再加载数据库的用户名和密码.

  • typeAliases标签 : typeAlias属性是单个别名定义,给具体的pojo类起个别名,缩短代码长度,以后出现这个pojo类的全限定名都可以用别名替代;package属性是为某个包下所有类批量起别名(常用).

  • environments标签 : 用于对我们需要访问的数据库配置进行设置,下面有两个节点,事务管理器配置transactionManager,另一个是数据源配置dataSource.

  • mappers标签 : 每个pojo类都有一个对应的映射文件,所以用于加载配置文件,该标签可以加载固定的映射文件,也可以加载一个包下的所有映射文件.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值