mybatis

java增删查改hbase数据库 java数据库增删改查含界面_jdbc增删改查

  详   解 


java增删查改hbase数据库 java数据库增删改查含界面_mybatis打印sql_02

为什么使用mybaits

mybatis定义

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

java增删查改hbase数据库 java数据库增删改查含界面_mybatis打印sql_03

java增删查改hbase数据库 java数据库增删改查含界面_jdbc增删改查_04

mybatis框架的结构

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


01、API接口

提供给外部使用的结构API

02、数据处理层 

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

03、基础支撑层

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


java增删查改hbase数据库 java数据库增删改查含界面_mybatis打印sql_05

java增删查改hbase数据库 java数据库增删改查含界面_jdbc增删改查_04

准备工作

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


  • 添加需要的jar包:MySQL连接、mybatis核心jar包
  • 创建表,并创建实体类
  • 添加环境配置文件(mybatis-config.xml)

            ⊙加载db.properties

            ⊙事务管理器:JDBC

            ⊙连接池:POOLED

            ⊙关联mapper映射文件

                        ○ 添加约束文件

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

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


java增删查改hbase数据库 java数据库增删改查含界面_mybatis打印sql语句到控制台_07

java增删查改hbase数据库 java数据库增删改查含界面_jdbc增删改查_04

DAO层开发

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


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

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

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


java增删查改hbase数据库 java数据库增删改查含界面_java增删查改hbase数据库_09

java增删查改hbase数据库 java数据库增删改查含界面_jdbc增删改查_04

mybatis执行流程

实现增删改查


  • 加载主配置文件到内存中
  • 根据访问数据库的基本信息,创建工厂类
  • 获取到SqlSession对象,然后执行指定的SQL语句
  • 将mapper中的表达式#{}翻译,使用预编译对象为属性赋值

java增删查改hbase数据库 java数据库增删改查含界面_jdbc增删改查_11

细节处理

主键、类型别名、日志管理、抽取工具类


  • 自动获取主键

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

            ○ keyColumn: 表中的主键列

            ○ keyProperties: 主键列对应的属性

  • 类型别名:便于查询

java增删查改hbase数据库 java数据库增删改查含界面_mybatis打印sql语句到控制台_12

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

java增删查改hbase数据库 java数据库增删改查含界面_jdbc增删改查_13

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

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

java增删查改hbase数据库 java数据库增删改查含界面_java增删查改hbase数据库_14

java增删查改hbase数据库 java数据库增删改查含界面_jdbc增删改查_04

附:

mybatis-config.xml

java增删查改hbase数据库 java数据库增删改查含界面_mybatis通用dao层封装_16

mapper映射文件

java增删查改hbase数据库 java数据库增删改查含界面_mybatis通用dao层封装_17

END