Mybatis笔记01

本文介绍了Mybatis框架的基本概念、JDBC的不足以及Mybatis的优势。通过一个详细的入门案例,展示了如何进行select查询和insert插入操作,包括创建实体类、DAO接口、SQL映射文件、主配置文件的步骤,以及解决编译后没有XML文件和连接数据库的问题。最后,讨论了开启日志以查看SQL执行详情的重要性。
摘要由CSDN通过智能技术生成

Mybatis框架

E:\mybatis-3.5.1

MyBatis参考文档

它是操作数据库的,相当于是一个增强的JDBC。

框架概述

软件开发常用结构

三层架构

  • 界面层

    跟用户直接打交道的,接收用户请求参数,显示处理结果:html,jsp,servlet

    • 对应包controller包(servlet)

    • 对应处理框架springmvc(代替servlet)

  • 业务逻辑层

    接受了界面层传递的数据,计算逻辑,调用数据库,获取数据

    service层

    • service包(XXXservice类)

    • 对应框架:spring框架(service类)

  • 数据访问层(持久层)

    访问数据库,执行数据增删改查等

    dao层

    • dao包(XXXDao类)

    • 对应框架:MyBatis框架(dao类)

mybatis它很小,很简单。

什么是框架

“模板”,整个或部分系统的可重用设计。

  1. 提供基础功能,这些功能是可用的。

  2. 可以加入项目中自己的功能,可以利用框架中的基础功能创造。

框架特点:

  1. 一般不是全能的,不能做所有事情

  2. 针对某一领域有校。特长在某一个方面。

  3. 是一个软件。(半成品,定义好了基础功能,它们可重复使用,可升级)

JDBC缺陷

大量代码重复,开发效率低,开发周期长!!业务代码和数据操作混合在一起,代码维护难度高。

以前我们用过DButil这样一些工具类,但是不能完全解决一些缺陷,所以出现了mybatis框架。

Mybatis能做什么

SQL Mapper Framework(sql映射框架)

早期叫ibatis上,发布于github上

tar.gz是在Linux上压缩文件的格式。

网课用到3.5.1版本。

  1. sql mapper: sql映射

    可以把数据库表中的一行数据,映射为一个java对象

    一行数据可以看作是一个java对象

    操作这个对象相当于是操作表中的数据

  2. Data Abceess Objects

    (DAOs)

    数据访问,对数据库执行增删改查。

提供了哪些功能:

  1. 提供了创建Connection,Statement,ResultSet的的能力。不用开发人员再创建这些对象了。

  2. 提供了执行sql语句的能力,不用你执行sql了

  3. 提供了循环sql,把sql的结果转为java对象,List集合的能力。(不需我们再循环记录集)

  4. 提供了关闭资源的能力~

我们只要做:提供sql语句~

入门案例:select查询操作

创建新空项目,创建新model,选择Maven(勾选骨架模板)(archetype-quickstart)

目前示例只是访问数据库,而不需要web应用操作。

注意这里,我的Maven路径已经修改了!是3.6.3版本。

main目录下创建一个resources目录,并右键

idea64_nNrpdZmLmx.png

修整一下pom.xml里的东西:

idea64_VHsf0WImno.png

打包默认是Jar(packaging标签,不加也是jar)

idea64_rkXpjmOaKJ.png

build里内容先全删掉,我们暂时都不需要。

实现步骤:

  1. 新建的数据库表

    (这里我建在mydb库下了)

  2. 加入maven的mybatis坐标,mysql驱动的坐标

  3. 创建实体类,Student,保存表中的一行数据

  4. 创建持久层的dao接口,定义操作数据库的方法

  5. 创建一个mybatis使用的配置文件

    叫做sql映射文件:写sql语句的。一般一个表一个sql映射文件

    这个文件是xml文件。

  6. 创建mybatis的主配置文件

    一个项目就一个主配置文件。

    提供了数据库的连接信息和sql映射文件的位置信息。

  7. 创建使用mybatis类

    通过mybatis访问数据库。

2、加入mybatis依赖和mysql驱动

驱动也叫依赖(不同说法)

    <!--mybatis依赖-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.1</version>
    </dependency>
    <!--mysql驱动-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.28</version>
    </dependency>

记得刷新一下maven,要连网才能下载的。

3、创建Student实体类

每个属性都设置它们的getter和setter方法,重写toString()方法

//定义属性,目前要求是属性名和列名一样
    private Integer id;
    private String name;
    private String email;
    private Integer age;
4、创建dao接口

表中每一个数据都可以看作是Student对象,所以我们要获取student表中所有的数据,则应该返回一个泛型是Student对象的List集合。

//接口,操作student表
public interface StudentDao {
   

    //查询student表的所有数据
    public List<Student> selectStudents();
}

这个声明的抽象方法是对应的一个SQL执行。这个SQL要写在叫做sql映射的xml文件里面。 我们把它放到和这个接口同一目录之中。

5、创建sql映射文件(xml格式)

文件名称和接口保持一致。

xml文件格式在mybatis参考文档里找MyBatis中文网

也就是目录【入门】下的这个东东:

chrome_AgBy7TCZOF.png

sql映射文件:写sql语句的,mybatis会执行这些sql

  1. 指定约束文件

    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://my
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值