个人学习笔记---mybatis入门案例(一)

1、什么是框架?

它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。
使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率.。

2、三层架构

表现层: 是用于展示数据的
业务层: 是处理业务需求
持久层: 是和数据库交互的
在这里插入图片描述

3、持久层技术解决方案

JDBC技术:
Connection
PreparedStatement
ResultSet
Spring的JdbcTemplate:
Spring中对jdbc的简单封装
Apache的DBUtils:
它和Spring的JdbcTemplate很像

以上这些都不是框架
JDBC是规范
Spring的JdbcTemplate和Apache的DBUtils都只是工具类

4、mybatis的概述

mybatis是一个持久层的框架,用java编写的。
他封装了jdbc操作的细节,使开发者只须关注sql本身,而无需关注注册驱动,创建连接等繁杂过程。它使用了ORM思想实现了结果集的封装。

ORM:
Object Relational Mapping 对象关系映射
简单的说:
就是把数据库表和实体类及实体类的属性对应起来,
让我们可以实现操作实体类就操作数据库表。

实体类中的属性和数据库表的字段名称保持一致。

5、mybatis的入门案例

新建一个maven项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


创建好项目之后,我们首先应该来配置pom.xml文件
我们至少需要把mybatis的依赖包和数据库(这里我用mysql)连接的包通过maven导进来。

在这里插入图片描述
导包完成后,接下来是配置xml文件:

从 XML 中构建 SqlSessionFactory
每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。

在根目录下的src/main/resources下新建一个xml文件:
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>

这里要根据你数据库的连接池来写
在这里插入图片描述


然后要写一个实体类,实体类的属性要和数据库字段一一对应。然后给字段加上get()set()方法,在项目里根据需要可以重写equals(),hashCoed()方法和构造函数等。
在这里插入图片描述
sql语句,创建数据库表格。
在这里插入图片描述
在这里插入图片描述
数据库表


在src/main/resources下新建一个mapper包,用来存放配置文件。
在这里插入图片描述

接下来写配置文件里的内容:
先往数据库表里添加内容。
在这里插入图片描述


接下来我们就需要写java代码了
在这里插入图片描述
单击方法名test1(),右击run as --> JUnit Test 单独运行方法。

发现一个报错。
经检查发现是映射配置文件错了。
在这里插入图片描述

修改
在这里插入图片描述
之后再运行
在这里插入图片描述
数据库表格中也有了数据。



总结mybatis流程
1、建一个mybatis-config.xml的配置文件 -> 怎么连接数据库? mapper映射文件路径。
2、创建一个实体类,对应数据库中的一张表,用来将表中的数据反向生成一个实体类对象
3、创建一个映射文件mapper,用来执行增、删、改、查,并跟实体类对象关联起来
4、创建一个SqlSessionFactory对象,用来读取解析mybatis-config.xml文件
创建好数据库连接池、解析mapper中的sql语句等
5、从sqlsessionFactory中获取一个sqlSession对象, 通过这个对象实现数据库的持久化操作

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HotCocoa_Deng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值