MyBatis

mybatis 中全局配置文件绑定sql映射文件或者绑定接口(注解开发),映射文件(select,insert,update,delete)又绑定dao层(增删改查),dao层又绑定pojo实体类层
实体类层与数据库中的信息一一对应。

Hongkong
什么是MyBatis:
MyBatis 是一款优秀的持久层框架
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程
MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。

持久化:
即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。
JDBC就是一种持久化机制。文件IO也是一种持久化机制。

持久层:
完成持久化工作的代码块 . ----> dao层 【DAO (Data Access Object) 数据访问对象,作用是封装对数据库的访问:增删改查,不涉及业务逻辑,只是达到按某个条件获得指定数据的要求;】

MyBatis的思路流程:
搭建环境(jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA)
导入MyBatis相关 jar 包,在pom.xml

编写MyBatis核心配置文件 mybatis-config 在里面绑定.xml映射配置文件

db.properties存放mybatis-config的数据库相关配置信息

编写MyBatis工具类MybatisUtils

创建实体类与数据库一一对应

在dao层编写Mapper接口类(封装对数据库的访问:增删改查)

在dao层编写Mapper.xml配置文件 (绑定接口类,并且负责sql语句)

根据全局配置文件,用SqlSessionFactoryBuilder创建SqlSessionFactory,使用SqlSessionFactory获取SqlSession对象。

全局配置文件
configuration(配置)
environments(环境配置) environment(环境变量)
mappers(映射器)(绑定映射xml,用class比较好)
Properties(数据库这些属性都是可外部配置且可动态替换的)
typeAliases(起别名)

映射文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!
select
(id:接口中的方法名与映射文件中的SQL语句ID 一一对应)
(parameterType:传入SQL语句的参数类型 。【万能的Map,可以多尝试使用】)
(resultType:SQL语句返回值类型。【完整的类名或者别名】)
(所有的增删改操作都需要提交事务,接口所有的普通参数,尽量都写上@Param参数(用于给方法参数起一个名字),尤其是多个参数时,必须写上!)
(ResultMap:结果集映射)

limit实现分页
SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15

一对多和多对一处理
多对一:按查询嵌套处理

一对多:按查询嵌套处理

动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句.

模糊查询like语句该怎么写?

问题:Maven静态资源过滤问题 在pom.xml

posted @ 2021-03-01 21:05  君甚秀  阅读(96)  评论(0编辑  收藏  举报