| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> MyBatis初识+创建项目 -> 正文阅读 |
|
[Java知识库]MyBatis初识+创建项目 |
MyBatis简介是什么MyBatisMyBatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github 。
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java实体类(POJO,Plain Old Java Objects,普通老式 Java 对象)映射成数据库中的记录。 持久化持久化是将程序数据在持久状态和瞬时状态转换的机制。
为什么需要持久化服务呢?那是由于存储本身的缺陷引起的。
持久层完成持久化工作的代码块 . ----> Dao层 【DAO (Data Access Object) 数据访问对象】 大多数情况下特别是企业级应用,数据持久化往往也就意味着将内存中的数据保存到磁盘上加以固化,而持久化的实现过程则大多通过各种关系数据库来完成。 不过这里有一个字需要特别强调,也就是所谓的“层”。对于应用系统而言,数据持久功能大多是必不可少的组成部分。也就是说,我们的系统中,已经天然的具备了“持久层”概念?也许是,但也许实际情况并非如此。之所以要独立出一个“持久层”的概念,而不是“持久模块”,“持久单元”,也就意味着,我们的系统架构中,应该有一个相对独立的逻辑层面,专注于数据持久化逻辑的实现. 与系统其他部分相对而言,这个层面应该具有一个较为清晰和严格的逻辑边界。【说白了就是用来操作数据库存在的!】 为什么需要MyBatisMyBatis就是帮助程序猿将数据存入数据库中 , 和从数据库中取数据 。传统的JDBC操作 , 有很多重复代码块 。比如 : 数据取出时的封装 , 数据库的建立连接等等… , 通过框架可以减少重复代码,提高开发效率 。 MyBatis 支持定制化 SQL、存储过程以及高级映射,可以在实体类和 SQL 语句之间建立映射关系,是一种半自动化的 ORM 实现。
当我们使用MyBatis时,只需要提供相关的配置信息,比如之前写在 MyBatis功能架构MyBatis的功能架构分为三层(引自):
使用Maven构建项目思路:搭建环境–>导入MyBatis—>编写代码—>测试 新建项目Step1:新建一个普通Maven项目 Step2:删除src目录 Step3:创建一个Maven模块 MyBatis相关依赖将需要的的依赖代码置于 pom.xml 文件中,格式如下:
获取MyBatis依赖地址:https://mvnrepository.com/ 需要获取的依赖有: 获取方法: Step1:搜索框输入需要的依赖名称,点击查询结果的第一个。 Step2:找到对应自己数据库的版本,比如我的8.0.25。 Step3:点进去后,复制框中的信息。 Step4:将依赖代码写在父模块中的 Step5:若第一次复制进来,依赖信息显示红色,同时页面右上角会出现如下图标,点击后会自动开始下载依赖,下载完毕后依赖信息显示黑色。 MyBatis核心配置文件资源文件(
编写MyBatis工具类每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。 从 XML 文件中构建 SqlSessionFactory 的实例非常简单,建议使用类路径下的资源文件进行配置。 但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符串或 file:// URL 构造的输入流。MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易。
在java目录下新建一个类
前期工作已经完成! 定义对象类这里用到的是Teacher对象。对应数据库中,属性包括 ,重写get/set方法。为了后期使用方便,可以添加有参构造,同时需要定义无参构造。
编写映射器DAO(映射器接口)在DAO目录下新建接口
编写配置文件(XML映射器)对应刚刚定义的接口,编写
注册该映射器将该mapper配置文件注册到核心配置文件中。
映射器的接口绑定
使用MyBatis的mapper接口调用时要注意的事项有:
测试类中测试在Test目录下新建测试类
项目流程梳理从之前的Javaweb跨越到现在的框架,改变的是连接数据库的部分,但这其中一时半会摸不清楚具体是在做什么,下面根据我自身的理解程度再将项目捋一遍。
?
???END???
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 15:34:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |