一、MyBatis基本使用,包括xml方式、注解方式、及动态SQL
一、简介
发展历史:MyBatis 的前 身是 iBATIS。最初侧重于 密码软件的开发 , 后来发展成为一款基于 Java 的持久层框架。
定 位:MyBatis 是一款优秀的支持自定义 SQL 查询、存储过程和高级映射的持久层框架,消除了 几乎所有的 JDBC 代码和参数的手动设置以及结果集的检索 。 MyBatis 可以使用 XML 或注解进 行配置和映射, MyBatis 通过将参数映射到配置的 SQL 形成最终执行的 SQL 语句 ,最后将执行 SQL 的结果映射成 Java对象返回。这样MyBatis的基本使用知识主要就涉及3个部分。入参、返回值、和SQL主题之后我也是按照这个思路来总结的。
特 点:灵活,充分发挥数据库的各种功能。MyBatis没有将Java对象与数据库关联起来,而是将Java方法与SQL语句关联起来。SQL、及返回值的构造就灵活多变了。
MyBatis的3.0之后提供了接口调用的方式。有意思的是,这些接口不用我们写具体的实现,只需要和xml文件对应上就行。(是通过java动态代理实现的)
二、注意点
这里只展示一些需要注意的问题。分几个部分说明。
一、result
SQL的查询结果到接口的返回值,有两种方式。通过resultMap、resultType。
这个过程涉及到几个要素:
1、SQL结果的字段名称(若有别名则为别名)
2、resultMap的property[对应接口返回值对象的字段名称]
3、resultMap的column[对应SQL结果的字段名称]
4、接口返回值对象字段名称≈resultType,这俩者差不多。
另外要注意:
1、数据库的数据类型与返回值的字段类型的对应。比如 Java中byte[] 对应数据库的BLOB 、 LONGVARBINARY、数据库兼容的字节流类型。BIgDecimal数据库兼容的 NUMERIC 或 DECIMAL。
二、parameter
查询参数可以分为三种方式:parameterMap、parameterType、默认没有
一个参数是可以默认没有、多个参数之前使用parameterMap、后来出现了parameterType
一、MyBatis基本使用,包括xml方式、注解方式、及动态SQL的更多相关文章
- MyBatis 使用简单的 XML或注解用于配置和原始映射
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .My ...
- MyBatis 注解配置及动态SQL
一.注解配置 目前MyBatis支持注解配置,用注解方式来替代映射文件,但是注解配置还是有点不完善,在开发中使用比较少,大部分的企业还是在用映射文件来进行配置.不完善的地方体现在于当数据表中的字段 ...
- hibernate中.hbm.xml和注解方式自动生成数据表的简单实例(由新手小白编写,仅适用新手小白)
绝逼新手小白,so 请大神指点! 如果真的错的太多,错的太离谱,错的误导了其他小伙伴,还望大神请勿喷,大神请担待,大神请高抬贵嘴......谢谢. 好了,正题 刚接触ssh,今天在搞使用.hbm.xm ...
- spring boot整合mybatis基于注解开发以及动态sql的使用
让我们回忆一下上篇博客中mybatis是怎样发挥它的作用的,主要是三类文件,第一mapper接口,第二xml文件,第三全局配置文件(application.properties),而今天我们就是来简化 ...
- 学习MyBatis必知必会(7)~注解开发、动态SQL
一.MyBatis的注解开发 开发中推荐是使用xml文件配置 1.配置映射关系[使用注解的方式]: <!-- 全局的配置文件 --> <configuration> <! ...
- MyBatis在注解上使用动态SQL(@select使用if)
1.用script标签包围,然后像xml语法一样书写 @Select({"<script>", "SELECT * FROM tbl_order", ...
- MyBatis进阶--接口代理方式实现Dao 和动态SQL
MyBatis接口代理方式实现Dao层 接口代理方式-实现规则 传统方式实现Dao层,我们既要写接口.还要写实现类.而MyBatis框架可以帮助我们省略写Dao层接口实现类的步骤.程序员只需要编写接口 ...
- mybatis注解开发,动态sql
在利用mybatis注解开始时,如果没有用到动态sql时,可以直接写 @Select("select * from order") List<XlSubOrder> g ...
- JAVAEE——Mybatis第二天:输入和输出映射、动态sql、关联查询、Mybatis整合spring、Mybatis逆向工程
1. 学习计划 1.输入映射和输出映射 a) 输入参数映射 b) 返回值映射 2.动态sql a) If标签 b) Where标签 c) Sql片段 d) Foreach标签 3.关联查询 a) 一对 ...
- Mybatis.net与MVC入门配置及联合查询动态SQL拼接和简单事务
第一次学习Mybatis.net,在博客园也找到好多资料,但是在配置成功之后也遇到了一些问题,尤其是在动态SQl拼接时候,这里把遇到的问题还有自己写的一个Demo贴出来,希望能帮到新手,有不适合的地方 ...
随机推荐
- leetcode 回文二叉树
C++最简单的方法,遍历存在vector<int> ivec容器中,然后头尾对应比较 O(n)时间,O(n)空间 /** * Definition for singly-linked li ...
- 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_1 回顾Mybatis的环境搭建-实现查询所有功能
先回顾Mybits的环境搭建,. 直接next 直接点击finish 创建好的项目. 所有东西都自己写不现实,约束文件的头部还是拷贝过来 导入依赖坐标,Mybits mysql的驱动 log4j 单元 ...
- 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_03.jdbc操作数据库的问题分析
分析一段代码,传统的jdbc的功能,最终要实现的功能就是sql语句.
- django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.的解决办法
如题,这个错误的解决办法如下: 在代码文件的最上方添加以下代码: import os,django os.environ.setdefault("DJANGO_SETTINGS_MODULE ...
- 学用 TStringGrid [6] - Options
本例运行效果图: 一般修改 TStringGrid 的 Options 直接在设计时选一下 True 或 False 就行了; 代码中可以像下面操作: StringGrid1.Options := ...
- 应用安全 - Java Web 应用 - Confluence - 漏洞汇总
CVE-2019-3395 Date: -- 类型: SSRF 影响范围: Confluence 1.*.*.*.*.3.*.*.4.*.*.5.*.* Confluence 6.0.*.1.*.6. ...
- 社工 - By浏览器 - Google搜索技巧 - 汇总
google基本语法 Index of: 使用它可以直接进入网站首页下的所有文件和文件夹中 intext: 将返回所有在网页正文部分包含关键词的网页 intitle: 将返回所有网页标题中包含关键词的 ...
- 针对WordPress站点思路
一.使用WPscan 1).简介 WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题.我们还使用了 ...
- tensorflow2.0 numpy.ndarray 与tenor直接互转
1.代码参考 import numpy as npimport tensorflow as tf a = np.random.random((5,3)) b = np.random.randint(0 ...
- linux--vm安装
网络排错图解 https://www.linuxidc.com/Linux/2017-03/141863.htm net模式 https://www.linuxidc.com/Linux/2017-0 ...