美文网首页MyBatis学习(完)
MyBatis快速入门(01)JDBC回顾

MyBatis快速入门(01)JDBC回顾

作者: 郭艺宾 | 来源:发表于2019-07-21 22:20 被阅读6次

什么是 MyBatis

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

MyBatis中文官方文档地址

http://www.mybatis.org/mybatis-3/zh/index.html

JDBC回顾

相信很多人都听过和用过mybatis,mybatis的底层是jdbc,所以学习mybatis之前我们先来回顾一下jdbc的用法。操作数据库首先需要有一个数据库,为了简单,我们使用sqlite数据库。先来看一下依赖:

为了方便,我们将数据库建在项目目录下面,新建一个db文件:

新建文件的时候,可以直接新建一个文本文档,然后修改名字为test.db即可,然后用Navicat打开,就是一个sqlite数据库:

新建一个t_user表,表结构如下:

这样数据库就准备好了,sqlite是非常方便的数据库。在Java中新建几个常量,作为连接数据的参数:

注意用户名密码直接写空字符串即可。然后写一个公共方法获取数据库连接:

上面有两步,加载驱动,连接数据库,最后返回一个连接。下面写一个新增方法,首先定义一个sql:

然后定义新增方法:

下面定义一个查询方法,首先定义查询sql:

然后定义查询方法:

上面都是很简单的我们熟悉的jdbc的写法,也是java的基础。我们来执行看一下结果:

结果:

数据库中也添加成功了一条记录:

JDBC的缺点

我们亲自回顾了一次jdbc,用jdbc操作数据库虽然是基础,但是实际开发当中几乎没人用jdbc,是因为直接使用jdbc存在以下缺点:

1、 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。

2、 Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。

3、 向sql语句传参数麻烦,因为sql语句的where条件不一定,可能多也可能少,占位符需要和参数一一对应。

4、使用对象传入参数和把返回结果封装成对象都需要自己手动硬编码

正因为以上的问题,所以我们在项目中通俗的做法是使用开源的稳定的orm框架,比如hibernate和mybatis。hibernate对jdbc进行了非常严格的封装,使用不太灵活,性能方面也不如mybatis。因此mybatis成为了现在互联网项目的一般标准用法。

我们下面将会一步步学习mybatis的用法,然后对mybatis的源码进行分析,看mybatis如何对jdbc进行封装,最后我们来徒手写一个简单版的mybatis,来体会一下自己写框架的快感!

代码地址:https://gitee.com/blueses/mybatis-demo  01

我们的交流基地,“JAVA互联网技术交流:789650498”欢迎小伙伴们一起来交流:

相关文章

  • MyBatis快速入门(01)JDBC回顾

    什么是 MyBatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyB...

  • MyBatis入门

    MyBatis 快速入门 简介&操作步骤 MyBatis是一款优秀的持久层框架,用于简化JDBC的开发 持久层 负...

  • (05)Mybatis入门及实践

    1 Mybatis入门 1.1 单独使用jdbc编程问题总结 1.1.1 jdbc程序 上边使...

  • MyBatis

    MyBatis学习总结(一)——MyBatis快速入门 超详细MyBatis入门讲解

  • Mybatis_day01

    1 Mybatis入门 1.1 单独使用jdbc编程问题总结 1.1.1 jdbc程序 上边使用jdbc的原始方法...

  • Mybatis----(1)

    主要内容1、对原生态jdbc程序(单独使用jdbc开发)问题总结2、mybatis框架原理3、mybatis入门程...

  • Mybatis技术内幕——笔记(1)

    Mybatis技术内幕——笔记(1) 第一章——快速入门 ORM简介 传统JDBC编程 主要步骤: 1.注册驱动2...

  • 第8讲.MyBatis入门

    MyBatis入门 为何要学习MyBatis? 原始JDBC编程存在的问题 如图: 要解决这个问题可以通过今天我们...

  • MyBatis之快速入门

    title: MyBatis之快速入门tags: MyBatiscategories: MyBatis 若图片无法...

  • Mybatis源码分析(01)-JDBC操作回顾,Mybatis

    一 JDBC的规范操作及问题回顾 假设数据库test中有一张表account 直接使用JDBC,dao层的实现类可...

网友评论

    本文标题:MyBatis快速入门(01)JDBC回顾

    本文链接:https://www.haomeiwen.com/subject/zmhbhqtx.html