一 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的增删改查和动态的增删改查相关推荐

  1. Java对象转JSON时如何动态的增删改查属性

    1. 前言 日常开发中少不了 JSON 处理,少不了需要在 JSON 中添加额外字段或者删除特定字段的需求.今天我们就使用Jackson类库来实现这个功能. 2. JSON 字符串增加额外字段 假如我 ...

  2. 转json_Java对象转JSON时如何动态的增删改查属性

    1. 前言 日常开发中少不了 JSON 处理,少不了需要在 JSON 中添加额外字段或者删除特定字段的需求.今天我们就使用Jackson类库来实现这个功能. 2. JSON 字符串增加额外字段 假如我 ...

  3. 仿联想商城laravel实战---5、无刷新的增删改查(动态页面更新的三种方式(html))...

    仿联想商城laravel实战---5.无刷新的增删改查(动态页面更新的三种方式(html)) 一.总结 一句话总结: 直接js增加删除修改html 控制器直接返回处理好的页面 用双向绑定插件比如vue ...

  4. Jquery实现无限级树状结构并动态添加增删改等编辑功能

    点击打开链接 源:http://www.56gee.com/Detail/2012/04/11/8AEB74E423/ <!DOCTYPE html PUBLIC "-//W3C//D ...

  5. 列表的增删改查,嵌套等,及元组的查

    一丶列表 1.什么是列表 列表是一个可变的数据类型 列表由[]表示每一项元素,使用逗号隔开,列表什么都能装,能装对象的对象. 列表可以装大量的数据 lst = ["赵四",&quo ...

  6. 【Axure教程】能增删改数据的动态饼图

    可视化视图是系统分析中非常重要的一个环节,今天作者就教大家在Axure中如何用中继器表格结合echarts图片,制作出一个能够动态增删改数据饼图的原型模板.需要制作的效果如下图所示: 自动生成饼图:通 ...

  7. linux从a自增10_C语言程序前后自增(++a、a++)在Linux下的实现机制

    看到一道"经典Linux C"面试题,关于左值和右值的. 华为笔试题 1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分) int a = 4; ...

  8. 并查集-----好忧伤的并查集

    并查集-----好忧伤的并查集 主要还是看find的join俩个操作,测试数据 1 6 1 2 4 3 1 3 5 6 6 1 7 1 #include <iostream> #inclu ...

  9. 怎么查交集_胃镜要不要查?

    两周前,胸口突然跟针扎一样,之后吃饭到胸口就疼,疼了两天去诊所看看,医生说是食道反流,让我吃两天奥美拉唑,一天两颗吃了第三颗时,身体几乎无恙了.但是可能不知道什么病因,当晚和朋友吃饭,吃了两斤虾,晕, ...

最新文章

  1. 编写Makefile中遇到的各种奇葩问题汇总
  2. QTP---Recovery Scenario没有被触发的原因汇总
  3. android studio安装在其他盘,Android Studio配置移动到D盘(亲测)
  4. 安装虚拟机Ubuntu,搭建lnmp环境碰到的坑(三)
  5. 2021-11-13SystemStringBuliding
  6. windows7下cmd中一键切换virtualenv中的Python版本
  7. JavaScript--fullPage.js插件
  8. smartdeblur有手机版吗_《GTA5》高仿手机版问世,更新高清城市地图后你会喜欢吗?...
  9. Linux 开发者最应该知道的命令汇总
  10. 不能使用zsh或myzsh创建/切换 包含#的分支名(zsh: bad pattern: #xxx)
  11. mac vulkan_在 macOS 上开发 Vulkan 程序
  12. Android发短信功能
  13. 有没有好用的文字转语音的工具帮推荐?
  14. Excel--Vlookup与match、index函数
  15. ECS架构 Entitas-CSharp学习之路(一)
  16. CNS服务器搭建(配合百度直连)
  17. 文件加密系统是如何实现企业数据高效安全保护的?
  18. 计算机塑性成形论文,6061铝合金的高温变形的力学性能及热塑性成形工艺研究...
  19. [文本纠错] pycorrector框架训练
  20. PPT、word破解加密文档

热门文章

  1. LeetCode 811. 子域名访问计数
  2. 程序员面试金典 - 面试题 10.01. 合并排序的数组
  3. LeetCode 1353. 最多可以参加的会议数目(排序+贪心,优先队列,难)
  4. sed搜索某行在行末追加_示范sed指定某行插入 追加和全局替换
  5. 南工大计算机学院,江南-欢迎访问湖北工业大学计算机学院官方网站
  6. pycharm中无法识别相对路径的问题
  7. SQL解析在美团的应用
  8. 论文浅尝 | AAAI2020 - 基于生成对抗的知识图谱零样本关系学习
  9. 论文浅尝 | 从 6 篇顶会论文看「知识图谱」领域最新研究进展 | 解读 代码
  10. 如何解决NLP分类任务的11个关键问题:类别不平衡低耗时计算小样本鲁棒性测试检验长文本分类 JayLou娄杰