栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis

MyBatis的基础介绍

作用:连接数据库,访问、操作数据库中的数据,最终将结果返回给业务层

MyBatis是支持定制化SQL,存储过程及高级映射的持久层框架

定制化SQL:自己写SQL
存储过程:设计mysql的高级部分
普通映射:数据库查询出数据后,根据反射将其对应实体类对象,若字段名与属性名一致,则将数据映射为实体类对象,若字段名与属性名不一致,则无法映射
高级映射:自定义映射,可解决字段名与属性名不一致的情况,及一对多、多以一的关系

MyBatis:避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集,是一个 半自动的ORM(Object Relation Mapping)框架

ORM(Object Relation Mapping):Object表示实体类对象;Relation表示关系型数据库;Mapping表示映射;java中的实体类对象和数据库中的数据创建映射关系
Hibernate: 全自动的ORM框架,能自动生成SQL

MyBatis:
1、xml和注解用于配置和原始映射

实现SQL语句:
1)xml文件
2)注解方式写在接口中

2、面向接口编程

现有的DAO层(即mapper层)只需要有接口,不需要实现类
只需在调用接口中的方法时,直接对应相应的SQL语句并执行

3、将接口和Java的实体类对象映射成数据库中的记录

MyBatis操作SQL的过程

MyBatis有两个配置文件:

1)核心配置文件:连接数据库信息和MyBatis全局配置信息
2)映射文件:编写SQL语句

MyBatis中SQL和java编程分开,功能边界清晰。java代码注重业务逻辑,SQL语句专注数据

搭建MyBatis

1、创建Maven工程

打包方式:jar
引入依赖

2、创建MyBatis的核心配置文件
这里包括:设置数据库的连接 和 引入映射文件

主要用于配置连接数据库的环境和MyBatis的全局配置信息
将来整合Spring之后,这个配置文件可以省略

3、创建mapper接口
调用mapper接口中的方法则会自动调用SQL语句中并执行。

MyBatis的mapper接口相当于以前的dao。但是区别在于,mapper仅仅是接口,不需要提供实现类。

4、创建mapper接口对应的映射文件

作用:用于编写SQL,对表中的数据进行操作
实体类 ------- 表;属性名 ------------- 字段名;对象----------------记录/行
映射文件的命名规则:表所对应的实体类的类名+Mapper.xml
MyBatis中可以面向接口操作数据,要保证两个一致:

1)mapper接口的全类名和映射文件的命名空间(namespace)保持一致
2)mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致

注意:
MyBatis的两个配置文件的约束类型不同:
1)映射文件:mybatis-3-mapper.dtd
2)核心配置文件:mybatis-3-config.dtd

在Resources下相当于普通目录,创建各层级目录时用 / 的方式
一个mapper接口对应一个映射文件,对应一张表,对应一个实体类对象

5、通过junit测试功能
1)加载核心配置文件
2)创建SqlSessionFactoryBuilder对象
3)创建工厂类SqlSessionFactory
4)创建SqlSession对象,设置sql为自动提交
5)创建Mapper接口的代理实现类对象
6)调用mapper接口中的方法

根据mapper接口的全类名找到映射文件,根据接口中的方法名找到sql标签
SqlSession:代表Java程序和数据库之间的会话。(HttpSession是Java程序和浏览器之间的会话)
SqlSessionFactory:是“生产”SqlSession的“工厂”。
工厂模式:将创建对象的过程进行封装,直接提供当前的对象
mybatis框架底层基于mapper接口动态的创建实现类(用代理模式)

加入log4j日志功能
加入依赖
加入log4j的配置文件

日志的级别:
FATAL(致命)>ERROR(错误)>WARN(警告)>INFO(信息)>DEBUG(调试)
从左到右打印的内容越来越详细

未完待续…

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836330.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号