美文网首页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回顾

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