Mybatis简介以及简单使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

三层架构分为持久化层,业务逻辑层,表现层,为了提高效率,增强处理能力,会引入不同的框架,Mybatis就是其中的一种,mybatis是针对Java的持久层框架


一、mybatis的简介?

1.mybatis是什么?

1.是一款优秀的持久化层的框架
2.支持定制化sql,存储过程以及高级映射
3.可以避免几乎所有的JDBC代码手动设置参数以及获取结果集
4.可以使用简单的XML或注解来配置和映射原生信息
5.用接口将Java的POJOS映射成数据库中的记录

2.mybatis的优点

1.相比于JDBC没有侵入性(代码对框架的依赖不强),可以打到很好的解耦的效果
2.相比于hibernate,有更高的性能
3.sql代码分类放置在不同的sql map中,易于维护

3.mybatis核心文件编写

1.POJO映射数据库的Java对象。
2.DAOS(data access objects)映射器接口类,用于操作数据库。
3.sql maps : SQL映射配置文件,用于注册DAOS接口,使其拥有操作数据库的能力。
4.mybatis核心配置文件,初始化基本的配置信息,用于生成SqlSessionFactory。

二、简单的入门操作(编写一个简单的与数据库进行操作的流程)

1.创建maven的项目

创建maven项目,勾选create from archetype,下面选择创建的项目类型为maven-archetype-quickstart(普通java项目),next,下一个页面进行项目名设置。

2.修改配置文件pom.xml

parent标签内是父项目的信息,在父项目的pom.xml可以查找到
properties标签下的source和target改为1.8,与jdk相对应(这是用来编译和打包)
dependencies标签,用来添加依赖,父项目的依赖会自动继承到子项目中
在这里插入图片描述

3.编写映射数据库的类

在这里插入图片描述

4.编写接口

在这里插入图片描述

5.注册映射接口的配置文件

mapper标签下的namespace为名称空间,指定注册的接口,使用全类名
对应的SQL功能标签insert,delete,update,select
id为方法的名字
parameterType为入参的类型
标签体为SQL语句
在这里插入图片描述
select标签下的会需要对应的返回值,所以我们需要设置返回值类型
resultType:结果集,默认根据SQL语句查询的别名得来
resultMap:手动映射结果集,结果集需要重新手动映射
resultMap标签下:
id属性与select的resultMap属性对应,为结果集的名字
type属性为结果集的类型
id标签为主键,column为列名,property为别名
result标签为其余字段
在这里插入图片描述
模糊查询的写法
第一种,传入之前先拼接变量再传递过来
第二种,CONCAT可以拼接三个字符串
第三种,bind标签,name属性为变量名,value为变量的值,前提得在接口中使用@Param()注册userName
List getUserByLike3(@Param(“userName”) String userName);
在这里插入图片描述

6.mybatis核心文件

properties是用来加载配置文件的
settings里面设置各种功能,入驼峰自动映射
typeAliases取别名,针对于全限定类名,typeAlias中type是原类名,alias是别名
environments是环境,在里面进行环境的配置
dataSource是数据库配置的标签,property是里面的各项属性
mappers配置映射接口的xml文件
在这里插入图片描述

7.进行测试

测试前:先加载核心配置文件,通过Resources.getResourceAsStream()获取对应配置文件
在通过SqlSessionFactoryBuilder().build(in)加载核心文件,创建SqlSessionFactory
通过sqlSessionFactory的openSession来创建SqlSession对象
通过sqlSession.getMapper()获取映射接口的实例化对象
测试结束后:提交事务,sqlSession.commit()
关闭,sqlSession.close();
在这里插入图片描述
通过映射的接口进行调用方法
在这里插入图片描述
查询获取结果集
在这里插入图片描述


总结

Mybatis的使用改变了原先的JDBC的使用方式,将SQL的注册写在了配置文件中,减少了原先的拼接或者给占位符赋值的步骤,同时配置文件中的各种设置也会给开发提供了便利。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值