Mybatis(一)——Mybatis配置介绍

本文介绍了Mybatis的基本概念,分析了JDBC的不足,并详细阐述了Mybatis如何优化这些问题。内容包括Mybatis的起源、持久层框架的作用,以及Mybatis对JDBC的改进,如配置文件解决硬编码问题,自动化处理繁琐操作。此外,文章还提供了Mybatis快速入门的步骤,包括创建数据库、配置项目、编写实体类、接口和XML配置文件。
摘要由CSDN通过智能技术生成

MyBatis

一、Mybatis概述

1.1Mybatis概念
  • MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发

  • MyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github

  • 官网:https://mybatis.org/mybatis-3/zh/index.html

持久层:

  • 负责将数据到保存到数据库的那一层代码。

    以后开发我们会将操作数据库的Java代码作为持久层。而Mybatis就是对jdbc代码进行了封装。

  • JavaEE三层架构:表现层、业务层、持久层

    三层架构在后期会给大家进行讲解,今天先简单的了解下即可。

框架:

  • 框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型
  • 在框架的基础之上构建软件编写更加高效、规范、通用、可扩展
1.2 JDBC 缺点

下面是 JDBC 执行流程,我们通过该执行流程分析都存在什么缺点:

  • 1.加载数据库驱动
  • 2.创建并获取数据库连接对象connection
  • 3.通过连接对象获取会话对象statement
  • 4.编写sql语句
  • 5.如果有参数的话需要通过Statement设置参数
  • 6.执行sql语句并获取结果
  • 7.关闭资源

上述是最原始的JDBC操作数据库的方式,有以下问题:

  • 硬编码

    • 注册驱动、获取连接

      上图标1的代码有很多字符串,而这些是连接数据库的四个基本信息,以后如果要将Mysql数据库换成其他的关系型数据库的话,这四个地方都需要修改,如果放在此处就意味着要修改我们的源代码。

    • SQL语句

      上图标2的代码。如果表结构发生变化,SQL语句就要进行更改。这也不方便后期的维护。

      数据库连接的频繁创建、释放浪费资源进而影响系统性能。

  • 操作繁琐

    • 手动设置参数

    • 手动封装结果集

      上图标4的代码是对查询到的数据进行封装,而这部分代码是没有什么技术含量,而且特别耗费时间的。

      sql代码写在 java文件当中,如果在开发过程中我们改动某个sql,就需要去修改java代码,改完之后还需要重新编译。

1.3 Mybatis 优化
  • 硬编码可以配置到配置文件
  • 操作繁琐的地方mybatis都自动完成

如图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d2gpOB1I-1655372771752)(https://nyw-1300782054.cos.ap-nanjing.myqcloud.com/img/image-20220616171606994.png)]

二、 Mybatis快速入门

1. 创建数据库和表结构

create database mybatis_demo; 

use mybatis_demo;

CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(32) NOT NULL COMMENT '用户名称',
`birthday` datetime default NULL COMMENT '生日',
`sex` char(1) default NULL COMMENT '性别',
`address` varchar(256) default NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into `user`(`id`,`username`,`birthday`,`sex`,`address`) values (1,'老王','2018-02-27 17:47:08','男','北京'),(2,'熊大','2018-03-02 15:09:37','女','上海'),(3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值