statement的增删改查和动态的增删改查
一 statement的crud:
mybatis约定:
输入参数parameterType和输出参数resultType,在形式上都只能有一个
如果输入参数:是简单类型(8个基本类型+String),则可以使用任何占位符,#{xxx}
如果是对象类型,则只能写属性名#{属性名}
输出参数:如果返回值类型是一个对象(例如:user),则无论返回一个还是返回多个
resultType的写法都是一样,例如:org.user
注意事项:
1.如果使用的事物方式为jdbc,则需要手动提交,提交方式为session.commit()
2.所有的标签都必须有sql语句,但是sql参数值可选
有参数时session.delete(statement, z);
没参数时session.delete(statement);
二 mapper动态代理方式的crud(MyBatis接口开发):
原则:约定优于配置
硬编码:abc.java
Configuration conf = new Configuration();
con.setName("myProject");
配置方式:abc.xml
<name>myProject</name>
约定:默认值就是myProject
具体实现的步骤:
1.基础环境:mybatis.jar/ojdbc.jar,conf.cml,mapper.xml
2.不同之处
约定的目标:省略掉statement,根据约定,直接找到要执行的sql语句
a.接口
建一个接口,接口中的方法必须遵循以下约定:
1.方法名与mapper.xml文件中标签的id值相同
2.方法的输入参数和mapper.xml文件中标签的parameter Type类型一致(无论结果返回一个还是多个,resultType中只写一个)
3.方法的返回值和mapper.xml文件中标签的resultType类型一致
除了以上约定,要实现接口中的方法 和Mapper.xml中SQL标签一一对应,还需要以下一点:
1. namespace的值,就是接口的全类名(接口 - mapper.xml 一一对应)
匹配的过程(约定的过程):
1. 根据 接口名 找到mapper.xml文件(根据的是namespace=接口全类名)
2. 根据接口的方法名 找到mapper.xml文件中的SQL标签(方法名=SQL标签id值)
以上两点可以保证:当我们调用接口中的方法时,程序能自动定位到某一个Mapper.xml文件中的sql标签
习惯:SQL映射文件(mapper.xml)和接口放在同一个包中(注意修改conf中映射文件的路径)
以上,可以通过接口的方法定位到SQL语句
执行:
usemapper x = session.getMapper(usemapper.class);//获取接口
user result = x.queryUserByUsename(z);//执行接口里面的方法
statement的增删改查和动态的增删改查相关推荐
- Java对象转JSON时如何动态的增删改查属性
1. 前言 日常开发中少不了 JSON 处理,少不了需要在 JSON 中添加额外字段或者删除特定字段的需求.今天我们就使用Jackson类库来实现这个功能. 2. JSON 字符串增加额外字段 假如我 ...
- 转json_Java对象转JSON时如何动态的增删改查属性
1. 前言 日常开发中少不了 JSON 处理,少不了需要在 JSON 中添加额外字段或者删除特定字段的需求.今天我们就使用Jackson类库来实现这个功能. 2. JSON 字符串增加额外字段 假如我 ...
- 仿联想商城laravel实战---5、无刷新的增删改查(动态页面更新的三种方式(html))...
仿联想商城laravel实战---5.无刷新的增删改查(动态页面更新的三种方式(html)) 一.总结 一句话总结: 直接js增加删除修改html 控制器直接返回处理好的页面 用双向绑定插件比如vue ...
- Jquery实现无限级树状结构并动态添加增删改等编辑功能
点击打开链接 源:http://www.56gee.com/Detail/2012/04/11/8AEB74E423/ <!DOCTYPE html PUBLIC "-//W3C//D ...
- 列表的增删改查,嵌套等,及元组的查
一丶列表 1.什么是列表 列表是一个可变的数据类型 列表由[]表示每一项元素,使用逗号隔开,列表什么都能装,能装对象的对象. 列表可以装大量的数据 lst = ["赵四",&quo ...
- 【Axure教程】能增删改数据的动态饼图
可视化视图是系统分析中非常重要的一个环节,今天作者就教大家在Axure中如何用中继器表格结合echarts图片,制作出一个能够动态增删改数据饼图的原型模板.需要制作的效果如下图所示: 自动生成饼图:通 ...
- linux从a自增10_C语言程序前后自增(++a、a++)在Linux下的实现机制
看到一道"经典Linux C"面试题,关于左值和右值的. 华为笔试题 1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分) int a = 4; ...
- 并查集-----好忧伤的并查集
并查集-----好忧伤的并查集 主要还是看find的join俩个操作,测试数据 1 6 1 2 4 3 1 3 5 6 6 1 7 1 #include <iostream> #inclu ...
- 怎么查交集_胃镜要不要查?
两周前,胸口突然跟针扎一样,之后吃饭到胸口就疼,疼了两天去诊所看看,医生说是食道反流,让我吃两天奥美拉唑,一天两颗吃了第三颗时,身体几乎无恙了.但是可能不知道什么病因,当晚和朋友吃饭,吃了两斤虾,晕, ...
最新文章
- 编写Makefile中遇到的各种奇葩问题汇总
- QTP---Recovery Scenario没有被触发的原因汇总
- android studio安装在其他盘,Android Studio配置移动到D盘(亲测)
- 安装虚拟机Ubuntu,搭建lnmp环境碰到的坑(三)
- 2021-11-13SystemStringBuliding
- windows7下cmd中一键切换virtualenv中的Python版本
- JavaScript--fullPage.js插件
- smartdeblur有手机版吗_《GTA5》高仿手机版问世,更新高清城市地图后你会喜欢吗?...
- Linux 开发者最应该知道的命令汇总
- 不能使用zsh或myzsh创建/切换 包含#的分支名(zsh: bad pattern: #xxx)
- mac vulkan_在 macOS 上开发 Vulkan 程序
- Android发短信功能
- 有没有好用的文字转语音的工具帮推荐?
- Excel--Vlookup与match、index函数
- ECS架构 Entitas-CSharp学习之路(一)
- CNS服务器搭建(配合百度直连)
- 文件加密系统是如何实现企业数据高效安全保护的?
- 计算机塑性成形论文,6061铝合金的高温变形的力学性能及热塑性成形工艺研究...
- [文本纠错] pycorrector框架训练
- PPT、word破解加密文档
热门文章
- LeetCode 811. 子域名访问计数
- 程序员面试金典 - 面试题 10.01. 合并排序的数组
- LeetCode 1353. 最多可以参加的会议数目(排序+贪心,优先队列,难)
- sed搜索某行在行末追加_示范sed指定某行插入 追加和全局替换
- 南工大计算机学院,江南-欢迎访问湖北工业大学计算机学院官方网站
- pycharm中无法识别相对路径的问题
- SQL解析在美团的应用
- 论文浅尝 | AAAI2020 - 基于生成对抗的知识图谱零样本关系学习
- 论文浅尝 | 从 6 篇顶会论文看「知识图谱」领域最新研究进展 | 解读 代码
- 如何解决NLP分类任务的11个关键问题:类别不平衡低耗时计算小样本鲁棒性测试检验长文本分类 JayLou娄杰