springMybatis一文通关

1. mybatis概述

MyBatis 是一款优秀的持久层框架
它支持定制化 SQL、存储过程以及高级映射
一款半自动ORM(关系对象映射)框架

2. mybatis的使用(XML配置文件)

2.1 配置环境

搭建数据库,
新建项目,
maven引入mybatis的依赖

2.1 编写一个mybatis工具类

工具类包含:
一个类变量
private static SqlSessionFactory sqlSessionFactory;
静态代码块,为类变量赋值

static {
	try{
	 InputStream inputStream = Resources.getResourceAsStream("放在类路径下的mybatis配置文件名");
	 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
	}
}

静态方法,用来获取sqlSession

	public static SqlSession  getSqlSession(){
        return sqlSessionFactory.openSession();
    }

2.2 编写核心配置文件

包含以下内容,加粗是必须的
configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)

2.3 分页插件

引入 pageHapler依赖
配置声明
编写service实现类 注意:只有紧跟着PageHelper.startPage(pageNum,pageSize)的sql语句才被pagehelper起作用
例如

public List<User> selectAll(int pageNum,int pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List<User> users = userMapper.selectAll();
        PageInfo<User> pageInfo = new PageInfo<>(users);
        return pageInfo.getList();
    }

2.4 编写Mapper文件

定义 mapper.namespace
定义resultMap
定义sql语句,id与接口方法名一致,参数和接口方法参数一致,返回值和接口一致

3.mybatis的使用(基于注解)

@slect sql语句直接写在Mapper接口对应的方法名上
@resultMap 写在方法上
mybatis配置文件中,mappers标签下,使用包标签,指向mapper包
配置文件的注解在spring和springboot中

4.mybatis的事务

在mybatis中提供了两种事务管理机制:
第一种:JDBC事务管理器
自己采用JDBC的原生代码去管理
conn.setAutoCommit(false); 开启事务。
…业务处理…
conn.commit(); 手动提交事务
使用JDBC事务管理器的话,底层创建的事务管理器对象:JdbcTransaction对象
第二种:MANAGED事务管理器
mybatis不再负责事务的管理了。事务管理交给其它容器来负责。例如:spring。
我不管事务了,你来负责吧。

对于我们当前的单纯的只有mybatis的情况下,如果配置为:MANAGED
那么事务这块是没人管的。没有人管理事务表示事务压根没有开启。没有人管理事务就是没有事务

5.Mybatis集成日志

mybatis常见的集成的日志组件有哪些呢?
SLF4J(沙拉风):沙拉风是一个日志标准,其中有一个框架叫做logback,它实现了沙拉风规范。
LOG4J
LOG4J2
STDOUT_LOGGING 这是标准日志,mybatis已经实现了,只需要开启即可

注意:log4j log4j2 logback都是同一个作者开发的。


集成logback日志框架。
logback日志框架实现了slf4j标准。(沙拉风:日志门面。日志标准。)
第一步:引入logback的依赖。
第二步:引入logback所必须的xml配置文件。
这个配置文件的名字必须叫做:logback.xml或者logback-test.xml,不能是其它的名字。
这个配置文件必须放到类的根路径下。不能是其他位置。
主要配置日志输出相关的级别以及日志具体的格式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值