MyBatis框架——Mybatis操作数据库之简单的insert操作的实现

入门_MyBatis中文网icon-default.png?t=N7T8https://mybatis.net.cn/getting-started.html一些配置文件的模板可以从mybatis的官网中找到。

一、MyBatis操作数据库步骤

1、读取MyBatis配置文件mybatis-config.xml。

mybatis-config.xml作为mybatis的全局配置文件,配置MyBatis的运行环境等信息,其中主要内容是获取数据库连接。例如在Maven项目中创建mybatis-config.xml文件,模板如下:

2、加载映射文件Mapper.xml。

Mapper.xml文件即SQL映射文件,该文件中配置了操作数据库的SQL语句,需要在mybatis-config.xml中加载才能执行。mybatis-config.xml可以同时加载多个配置文件,每个配置文件对应数据库中的一张表。

首先,数据库中对应的有一个tb_user的表,表的信息如下:

对应的项目中就有一个实体类User,信息如下:

接下来就是创建Mapper接口(持久层操作):

(1)创建Mapper接口:在此接口中编写要执行的SQL方法,也可以编写简单的SQL语句,命名方式为相关的实体类(User->UserMapper),一般mapper接口文件都会放在mapper目录下,如下图:

(2)创建Mapper.xml文件:此文件要配合Mapper接口使用,其中编写的就是Mapper接口中对应方法要执行的SQL语句,命名方式与对应的Mapper接口保持一致(UserMapper -> UserMapper.xml),位置一般在resource目录下创建mapper目录,将所有的mapper保存在这里

到此,要注意的点是:其实使用Mybatis的核心就在于梳理好对应关系

数据表  -> 实体类  ->  Mapper接口 -> Mapper.xml文件

当mapper.xml文件创建成功后,要回到mybatis-config.xml文件中,在此文件最后引入映射文件位置,填写上我们编写好的映射文件,如下图:

接口创建成功之后,简单的一些SQL语句也可以通过mybatis的注解来实现,注解有@Insert,@select,@update,@delete等等。上述简单的insert语句也可以通过注解来实现,具体实现方法如下:

接口中做以下修改:

,UserMapper.xml文件中修改成下图:

mybatis-config.xml文件不需要做任何修改。

3、构建会话工厂。

通过Mybatis的环境等配置信息构建会话工厂SqlSessionFactory。

4、创建SqlSession对象。

由会话工厂创建SqlSession对象,该对象中包含执行SQL的所有方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154220.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java 进阶篇】JQuery 遍历 —— 无尽可能性的 `each` 之旅

在前端的征途中,操作元素是开发者不可避免的任务之一。而在 JQuery 中,each 方法则是处理这个任务的得力助手。本文将深入探讨 each 方法的奇妙之处,以及它与原生的 for...of 循环的关系,带你领略无尽可能性的遍历之旅。 起步&am…

2023APMCM亚太杯/小美赛数学建模竞赛优秀论文模板分享

一、模板介绍 二、注意事项 将论文划分小节时,应避免在小节中出现大段的文字叙述,这样的叙述会妨碍评委在浏览论文时掌握论文的要点。重要的句子,包括首次定义的概念,用黑体书写。 重要的数学公式应另起新行单独列出。建模所用的…

微信小程序会议OA-登录获取手机号流程登录-小程序导入微信小程序SDK(从微信小程序和会议OA登录获取手机号到登录小程序导入微信小程序SDK)

目录 获取用户昵称头像和昵称 wx.getUserProfile bindgetuserinfo 登录过程 登录-小程序 wx.checkSession wx.login wx.request 后台 准备数据表 反向生成工具生成 准备封装前端传过来的数据 小程序服器配置 导入微信小程序SDK application.yml WxProperties …

【Python】Python中的@staticmethod和@classmethod的用法

【Python】Python中的staticmethod和classmethod的用法 文章目录 【Python】Python中的staticmethod和classmethod的用法1. staticmethod2. classmethod 1. staticmethod 静态方法是属于类而不是类的实例的方法。静态方法不需要访问类的实例或实例的状态。因此,它们…

HarmonyOS从基础到实战-高性能华为在线答题元服务

最近看到美团、新浪、去哪儿多家互联网企业启动鸿蒙原生应用开发,这个HarmonyOS NEXT越来越引人关注。奈何当前不面向个人开发者开放,但是我们可以尝试下鸿蒙新的应用形态——元服务的开发。 元服务是基于HarmonyOS提供的一种面向未来的服务提供方式&…

idea全局搜索

ctrlshiftf 在 IntelliJ IDEA 中,你可以使用全局搜索功能来搜索整个项目中的代码、文件和符号。全局搜索功能能够帮助你快速定位和浏览代码,提高开发效率。 要执行全局搜索,请按下以下快捷键: Windows/Linux: 使用快捷键 Ctrl …

如何在外部数据库中存储空间化表时使用Mapinfo_mapcatalog

开始创建地图目录表之前 您将使用EasyLoader在要使用的数据库中创建地图目录表。EasyLoader与MapInfo Pro一起安装。 (工具“DBMS_Catalog”不再随MapInfo Professional 64位一起提供,因为它的功能可以在EasyLoader工具中找到。) ​ 注&…

湖科大计网:传输层

一、传输层概述 一、基本概念 传输层是端到端的协议。 因特网的两种不同的传输层协议: TCP:面向连接 UDP:无连接 我们在学习的过程中,只需要关注传输层之间的通信,不需要关注传输层协议数据是经过路由器转发至目的网络…

网卡收发包过程

初始化 注:初始化由网卡的驱动程序完成 在内存中为DMA开辟一段连续空间(这段内存也被称为DMA内存区),存储PD(Packet Descriptor)数组, PD数组是给网卡中的DMA Engine使用的,1个PD对…

Java中,ArrayList和LinkedList区别区分,简洁

在Java中,ArrayList和LinkedList都是用来存储和管理数据的类 ArrayList是Java中的一个类,它实现了List接口,是一种基于动态数组实现的集合类常用成员方法: 构造方法:ArrayList() 成员方法:add、remov…

一篇文章让你彻底了解Java算法「十大经典排序算法」

✍️作者简介:码农小北(专注于Android、Web、TCP/IP等技术方向) 🐳博客主页: 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN 🔔如果文章对您有一定的帮助请👉关注✨、点赞&…

Redis篇---第十二篇

系列文章目录 文章目录 系列文章目录前言一、Memcache与Redis的区别都有哪些?二、单线程的redis为什么这么快三、redis的数据类型,以及每种数据类型的使用场景前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇…

你真的了解 Cookie 和 Session 吗?

文章目录 Cookie 和 Session总结 Cookie 和 Session cookie HTTP cookie(web cookie、browser cookie)是服务器发送给用户 web 浏览器的一小段数据。浏览器可能会存储 cookie,并在以后的请求中将其发送回同一台服务器。通常,HTTP …

【OpenGauss源码学习 —— 列存储(ColumnTableSample)】

执行算子(ColumnTableSample) 概述ColumnTableSample 类ColumnTableSample::ColumnTableSample 构造函数ColumnTableSample::~ColumnTableSample 析构函数ExecCStoreScan 函数ColumnTableSample::scanVecSample 函数ColumnTableSample::getMaxOffset 函数…

pikachu靶场-暴力破解攻略

pikachu暴力破解 基于表单的暴力破解 抓包发送到intruder 添加两个变量 下图攻击模式需要选择cluster bomb 用户名处添加几个常见的用户名 密码处则添加密码字典 如图可见有一条密码已经爆出 登录成功 验证码绕过(on server) 输入验证码后提交 抓包 然后发送到repeater先…

spring ioc原理剖析上不包括DI

###1.刷新上下文对象->创建beanfactory public void refresh() throws BeansException, IllegalStateException {synchronized (this.startupShutdownMonitor) {StartupStep contextRefresh this.applicationStartup.start("spring.context.refresh");// Prepar…

vue中data属性为什么是一个函数?

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue-data属性 目录 为什么data属性是一个函数而不是一个对象? 一、实例和组件定义dat…

解锁数据库运维秘籍:掌握AntDB-T动态共享内存,提升进程间通信效率

动态共享内存是AntDB数据库通信的重要手段,本文主要阐述AntDB-T数据库动态共享内存的实现原理、实现方式与使用方法。 AntDB-T数据库是一款企业级通用分布式关系型数据库,其数据库内核是基于进程模型实现的,因此进程间通信(IPC&am…

Appium移动自动化测试—如何安装Appium

前言 Appium 自动化测试是很早之前就想学习和研究的技术了,可是一直抽不出一块完整的时间来做这件事儿。现在终于有了。 反观各种互联网的招聘移动测试成了主流,如果再不去学习移动自动化测试技术将会被淘汰。 web自动化测试的路线是这样的&#xff1…

基于单片机的公共场所马桶设计(论文+源码)

1.系统设计 本课题为公共场所的马桶设计,其整个系统架构如图2.1所示,其采用STC89C52单片机为核心控制器,结合HC-SR04人体检测模块,压力传感器,LCD1602液晶,蜂鸣器,L298驱动电路等构成整个系统&…