MyBatis工程搭建

准备数据源
# 删除mybatis_demo数据库
drop database if exists mybatis_demo;

# 创建mybatis_demo数据库
create database mybatis_demo;

# 使用mybatis_demo数据库
use mybatis_demo;

# 创建account表
create table user (
    id int auto_increment primary key,
    username varchar(20),
    age int,
    score int
);

# 新增数据
insert into user (id, username, age, score) values
(1,'peter', 18, 100), (2,'pedro', 24, 200),
(3,'jerry', 28, 500), (4,'mike', 12, 300),
(5,'tom', 27, 1000);
JDBC连接及操作数据库
引入MySQL驱动包
<dependencies>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
</dependencies>

刷新maven等待自动下载,libraries中有了导入的包表示依赖引入完成

代码实现

在这里插入图片描述

执行结果

在这里插入图片描述

步骤总结

注册驱动;
获取连接;
获取statement对象;
执行SQL语句返回结果集;
遍历结果集;
关闭连接释放资源;

引入MyBatis依赖

maven仓库查询网址

mybatis:MyBatis基础包
logback-classic:日志依赖
在这里插入图片描述

代码实现

在这里插入图片描述
在这里插入图片描述

执行结果

在这里插入图片描述

步骤总结

JdbcTransactionFactory 表示事务工厂,当 MyBatis 需要新建事务的时候,会通过它来新建;
PooledDataSource 表示数据源,通过其构造参数,我们传入了数据库 url,数据库用户和密码等配置;
Configuration 负责 MyBatis 架构中的配置部分,可以有多个 Environment
每个 Environment 都必须有唯一的 id,即代码中的 development
通过 Configuration 来创建 SqlSessionFactory;
MyBatis 是通过会话的方式来执行 SQL 的,因为我们必须拥有一个会话创建器,即会话工厂;
新建 SqlSession 来执行 SQL;
有了 SqlSessionFactory 后,我们就可以通过会话来执行 SQL 了;
而PreparedStatement及以下的内容,它们是 JDBC 提供的,在这里我们只是为了展示 MyBatis 和 JDBC 的关系。

缺点分析

编程式使用 MyBatis 是比较复杂,需要开发人员十分熟悉 MyBatis 的 API,所以绝大多数资料都推荐配置的方式使用 MyBatis。

代码实现

在这里插入图片描述
其中,configuration 标签对应 Configuration 类;
environment 标签对应 Environment 类;
transactionManager 标签对应 JdbcTransactionFactory 类;
dataSource 标签对应 PooledDataSource 类。

代码实现

在这里插入图片描述

执行结果

在这里插入图片描述

步骤总结

读取配置文件,即 mybatis-config.xml;
通过配置文件来创建 SqlSessionFactory;
新建 SqlSession 来执行 SQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值