jdbc增删改查_Java使用mybatis实现数据库增删改查

mybatis 0e10ab3a7ab7d85cf84117407903422e.png  详   解  a4130786f7e264afd973c618aa6a2a2e.png

为什么使用mybaits

mybatis定义 mybatis是一个持久层框架,通过mybatis提供的映射方式,灵活的生成满足需求的sql语句。mybatis使用配置文件连接数据库,解决硬编码问题。mybatis使用连接池创建和释放数据库连接。 76e62469fa5f334be9a151b0cc153a19.png 357abd0187566afdac60802d5fac5f4d.png

mybatis框架的结构

API接口、数据处理层、基础支撑层

01、API接口

提供给外部使用的结构API

02、数据处理层 

负责具体的SQL查找、SQL解析和执行结果映射处理等

03、基础支撑层

负责基础的功能支撑,为上层的数据处理层提供最基础的支撑

91c17e19c0ebefcbbce16d44c93c3f60.png 357abd0187566afdac60802d5fac5f4d.png

准备工作

使用mybatis实现数据库增删改查
  • 添加需要的jar包:MySQL连接、mybatis核心jar包

  • 创建表,并创建实体类

  • 添加环境配置文件(mybatis-config.xml)

            ⊙加载db.properties

            ⊙事务管理器:JDBC

            ⊙连接池:POOLED

            ⊙关联mapper映射文件

                        ○ 添加约束文件

                        ○添加SQL语句(由namespace+sqlId组成)

后附:mybatis-config.xml;mapper映射文件

17438dbed4215e75e44b5c6c19d9887b.png 357abd0187566afdac60802d5fac5f4d.png

DAO层开发

接口;接口实现类;测试类

DAO接口:定义抽象的增删改查方法

DAO接口实现类:通过工厂类对连接池的封装,获取SqlSession对象;并调用SqlSession中的增删改查方法,指定指定的SQL语句

测试类:对实现类中的方法进行测试

94619a720db47efb2a747c9b2c100ec0.png 357abd0187566afdac60802d5fac5f4d.png

mybatis执行流程

实现增删改查
  • 加载主配置文件到内存中

  • 根据访问数据库的基本信息,创建工厂类

  • 获取到SqlSession对象,然后执行指定的SQL语句

  • 将mapper中的表达式#{}翻译,使用预编译对象为属性赋值

9f9e86a322fad01b71bea1c4302e918e.png

细节处理

主键、类型别名、日志管理、抽取工具类
  • 自动获取主键

            ○ useGeneratedKeys: 是否要获取自动生成的主键

            ○ keyColumn: 表中的主键列

            ○ keyProperties: 主键列对应的属性

  • 类型别名:便于查询

d5b07d5ac567cdc61bd7536ef945ab6e.png

  • 日志管理:能够将执行的SQL全部打印在控制台中,方便观察SQL的相关问题

edbc148e65720d1a459802b944f7918d.png

  • 抽取mybatis工具类:减少代码重复

            根据访问数据库的基本信息,创建工厂类;获取到SqlSession对象;以及资源的关闭,会重复多次,可以抽取到工具类中

e98e7faef43b67ecbf9d9c369c06ad59.png357abd0187566afdac60802d5fac5f4d.png

附:

mybatis-config.xml

cc1f4f0667ad84c8974e42c3ad53d7e3.png

mapper映射文件

1ff526598821f48d23fce393f3a6e8f7.png

END

图 | 网络

7a7574a480f421e7cc93bd2a0fcb0265.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值