学习Mybatis框架总结

本文介绍了MyBatis框架的基础知识,包括框架的作用、MyBatis的概述、简单实现步骤,以及数据库CRUD操作、连接池、事务、锁、动态SQL、多表查询、延迟加载、一级和二级缓存等内容,旨在帮助读者掌握MyBatis的基本用法和核心概念。
摘要由CSDN通过智能技术生成

学习Mybatis框架(持久层框架)—介绍篇

1.1.1 什么是框架

框架(Framework)是整个或部分系统的可重设计,表现为一组抽象构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用的方面,后者是从目的方面给出的定义。(半成品的应用)

三层架构—表现层,业务层,持久层

表现层:用于展示数据的
业务层:是处理业务需求
持久层:和数据库就行交互的
采用了黑马程序员的框架介绍图

持久层技术的解决方案:

JDBC技术:
1、Connection
2、PreparedStatement
3、ResultSet
Spring的JdbcTemplate:
1、Spring中对jdbc的简单封装
Apache的DBUtils:
1、它和Spring的JdbcTemplate很像,也是对Jdbc的简单封装。
但是:
它们都不是框架,JDBC是一种规范,而JdbcTemplate和Apache的DBUtils都只是工具类。

1.1.2 框架解决的问题

1、框架封装了许多的细节,使开发者可以使用极简的方式实现功能,使得开发效率极大的提高。
2、

1.1.3 MyBatis框架的概述

mybatis是一个优秀的基于java的持久层框架,它的内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理驱动、创建连接、创建Statement的繁杂操作。


mybatis通过xml或者注解的方式将执行的各种Statement配置起来。并且通过java对象和statement中的sql的动态数据参数进行映射生成最终执行的sql语句,最终由mybatis框架执行sql并将结果映射为java对象返回


MyBatis框架采用了ORM(Object Relation Mapping—对象关系映射)思想解决了实体和数据库映射的问题,对JDBC进行了封装,屏蔽了JDBC api底层访问细节,使我们不用与JDBC api进行交流就可以实现对数据库的持久化操作。

1.1.4 MyBatis的简单实现

配置文件详解

在这里插入图片描述

dependencies:定义本项目中的依赖关系
parent:父项目的坐标
artifactId:构件标识符
groupId:全球唯一标识符
version:版本

1.1.5 创建文件的步骤

mybatis的环境搭建

  1. 创建Maven工程并导入位置
  2. 创建实体类和dao接口
  3. 在resource中创建并配置主配置文件—SqlMapCOnfig.xml
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE configuration
 
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 
  "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
	<!-- 配置環境 配置mysql的環境 -->
	<!-- 配置環境 配置mysql的環境 基于mysql8.0以下的驱动配置-->
	<environments default="mysql">
		<environment id="mysql">
			<!-- 配置事务类型 -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 配置数据池 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url"
					value="jdbc:mysql://localhost:3306/textmybatis" />
				<property name="username" value="root" />
				<property name="password" value="123456" />
			</dataSource>
		</environment>

	</environments>
<!-- 配置映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
</configuration>
	<!--配置mysql8.0的操作-->
    <environments default="mysql">
        <!--配置mysql的环境-->
        <environment id="mysql">
            <!--事务类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!--此处如果使用的为‘&’ 那么系统会提示你应该改为 ‘;’,如果此处改为;仍然报错可以使用一以下的声明方式-->
                <property name="url" value="jdbc:mysql://localhost:3306/textmybatis?useUnicode=ture&amp;characterEncoding=utf-8&amp;serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>

            </dataSource>
        </environment>
    </environments>
  1. 创建映射配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- 配置mybatis的映射文件 -->
<!DOCTYPE mapper
 
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.fantasy.Dao.UserDao">
	<!-- 配置查询所有 其中id不能乱写,要对应UserDao中的接口方法对应 -->
	<select id="findAll">
		select * from userinfo;
	</select>


</mapper>
  1. 注意事项:
    1) 创建的映射配置文件不一定就是叫UserDao.xml 其他的文件中也有可能叫做Mapper
    2)包的创建和目录的创建的结果是不一样的:com.bag是二级目录,而在创建的目录中它属于一级目录,文件夹的名称就叫做com.bag
    3)mybatis的映射配置文件位置必须和Dao接口的包名结构相同
    4)映射配置文件的mapper标签namespace属性取值必须是dao接口的全限定类名
    5)映射配置文件的操作配置,id属性的取值必须是dao接口的方法名

1.1.6 基于mybatis的数据库CRUD 操作

log4j的使用方法:

转到其他文章

< mappers &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值