springboot如何与mybatis中mapper.xml交互以操作数据库_springboot dao层如何与mapper.xml_明成祖Judy的博客-程序员资料

技术标签: spring boot  xml  数据库开发  

首先介绍xml

XML

可扩展标记语言标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言

XML 与 HTML 的主要差异

XML 不是 HTML 的替代。XML 和 HTML 为不同的目的而设计:XML 被设计为传输和存储数据,其焦点是数据的内容。

HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 XML 旨在传输信息。

MyBatis中mapper.xml中的常用元素

1.SQL映射文件常用元素:

select、insert、update、delete

choose :该方式适用于多个条件中选择一个满足条件的来生成sql

where: 适用于从多个条件中选择所有满足条件的来构成condtions

foreach


2.resultMap: 用来描述如何从数据库结果集中加载对象

<resultMap id="给ID名" type="实体类" >
<result column="数据库字段名" property="实体类属性" jdbcType="数据库字段类型" />
</resultMap>

3.mapper

< mappers>元素用于指定MyBatis映射文件的位置,有4种方式来引入映射文件,具体如下;

使用类路径引入
< mappers>
< mapper resource =“com/itheima/mapper/UserMapper.xml”/>
< /mappers>
使用本地文件路径引入
< mappers>
< mapper url=“file:///D:/com/itheima/mapper/UserMapper.xml”/>
< /mappers>
使用接口类引入
< mappers>
< mapper class=“com.itheima.mapper.UserMapper.xml”/>
< /mappers>
使用包名引入
< mappers>
< package name=“com.itheima.mapper”/>
< /mappers>

springboot与mybatis交互过程

1.mapper.xml中mapper元素定义namespace实现Springboot mapper层接口和mybatis mapper.xml文件的映射

 

 

 

2.mapper.xml中select元素的id属性和resultMap属性来映射dao层的interface中的方法,其中id与方法名对应,resultMap与方法类型对应。

3.springboot service层的ServiceImpl中的方法使用与dao层方法数据类型相同的数据类型接收mybatis中的xml中的sql返回的数据,从而实现与数据库的交互。

4.controller注入调用service层实例中的方法,传递需要的内容到前后端交互接口。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wjqsm/article/details/123418146

智能推荐

【C】函数指针_November's chopin的博客-程序员资料

案例环境代码#include &lt;stdio.h&gt;int max(int x, int y){ return x &gt; y ? x : y;}int main(){ int (* p)(int ,int) = &amp; max; int a, b, c, d; printf("请输入三个整数:\n"); scanf("%...

良好性能和高质量视觉效果_圣空老宅的博客-程序员资料

译者:赵菁菁(轩语轩缘)  审校:李笑达(DDBC4747)对于任何追求UE4性能最佳、同时又想保持极高质量视觉效果的人来说,本文有一些可遵循的一般性建议和原则。 局限性为了性能,你通常受CPU时间(通常和游戏设置相关)和GPU时间限制(渲染场景花费的时间)。CPU创建由GPU渲染的场景会耗费一些时间。通常情况下,当你发现游戏的运行速度不像你想要的那么快时,第一步是找出

Xamarin.Android入门_低调丶林的博客-程序员资料

大家好,今天给大家介绍一下Xamarin.Android的整体开发环境。    首先,我在这里说下为啥写技术博客:最近遇到一个前辈,他已经干了七年了,算是个老手了,无意中看到他的博客,他也是从新手过来的,他写博客的初衷是希望记录自己学过的点点滴滴,并且跟他人分享自己所学的、与他人进行技术交流,从而学到更多的东西,我觉得很不错,所以我会坚持写博客,有学到新的东西就与大家分享,也欢迎大家可以一起探讨问题

2015总结_Surenon的博客-程序员资料

2015总结 1.真心学到了很多东西。每天朝9晚9+的,程序员最考验的是身体了。2.全栈是个不小而甘愿进入的坑。3.golang真心喜欢。开发守护进程,后端,后台非常开心。4.学会了和女孩子相处。(首先要有钱,或者多才多艺,兼得最好。当然,打代码速度快是不算艺术的,毕竟女程序猿太少了)5.不要过多的集中于业务逻辑,我是一个工程师...

《移动平台开发实践》第一周学习总结_weixin_30289831的博客-程序员资料

20169214 2016-2017-2《移动平台开发实践》第一周学习总结教学内容总结1.JAVA基础在开始编译和运行Java程序之前,需要下载和安装JDK,并且配置一些系统环境变量。总的来说,Java的安装可在三种操作系统平台上进行,Windows、Linux、Mac OS X,但无论哪种方式,都得事先进行工具包JDK的安装配置,然后进行测试,以检验是否配置正确。Java代码...

随便推点

mac中安装git并忽略.DS_Store_mac .gitignore 忽略ds__q2826621520的博客-程序员资料

一Homebrew安装git1.安装 Homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2.安装gitbrew install git二xcode安装git1.在mac终端中直接输入git.提示是否安装开发者...

执行main方法时出现java.lang.SecurityException异常_live_and_learn_CC的博客-程序员资料

1.执行main方法时弹出 Error: A JNI error has occurred, please check your installation and try againe2.执行后控制台报的错误3.进入ClassLoader.java中,4.原因:在开始执行main方法时就已经加载了以java开头的包路径,所有类加载器在加载文件时会抛出异常5.解决方法:改包...

【opencv】goodFeaturesToTrack源码分析-2-Shi-Tomasi角点检测_Denny#的博客-程序员资料

本文章是【opencv】goodFeaturesToTrack源码分析-1的后续,主要描述Shi-Tomasi角点检测算法原理及opencv实现。1、算法原理Shi-Tomasi算法是Harris算法的改进,在Harris算法中,是根据协方差矩阵M的两个特征值的组合来判断是否角点。而在Shi-Tomasi算法中,是根据较小的特征值是否大于阈值来判断是否角点。 这个判断依据是:较小的特征值表示在该特

tensorflow源码例子mnist源码——mnist.py_修炼打怪的小乌龟的博客-程序员资料

# Copyright 2015 The TensorFlow Authors. All Rights Reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# Y

8.2.mysql数据表设计_qq_28613081的博客-程序员资料

mysql数据表设计课程内容性能优化介绍与影响因素问题发现-1. Linux管道机制 命令linux系统搭建省略:管道是一种两个进程间进行单向通信的机制。因为管道传递数据的单向性,管道又称为半双工管道。管道的这一特点决定了器使用的局限性。管道是Linux支持的最初Unix IPC形式之一,具有以下特点:*** 数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道);如果要...