MyBatis学习笔记-003

用了7年的 source insight 3.5 背景色及字体配置(提升code效率) 在此记录并share用了7年的 source insight 3.5 背景色及字体配置,提升阅读代码效率 阅读详情
  • 第三章
    • 动态代理:使用SqlSession.getMapper(dao接口.class)获取这个dao接口的对象。

      • 什么是动态代理
        • mybatis帮你创建dao接口的实现类,在实现类中调用SqlSession的方法执行sql语句
      • 使用动态代理方式
        • 获取sqlSession对象,SqlSessionFactory.openSession()
        • 使用getMapper方法获取某个接口的对象,sqlSession.getMapper(接口.class)
        • 使用dao接口的方法,调用方法就执行了mapper文件中的sql语句
      • 使用动态代理方式的要求
        • dao接口和mapper文件放在一起,同一个目录
        • dao接口和mapper文件名称一致
        • mapper文件中的namespace的值是dao接口的全限定名称
        • mapper文件中的,,,等的id是接口中方法名称
        • dao接口中不要使用重载方法,不要使用同名的,不同参数的方法
    • 传入参数:从java代码中把数据传入到mapper文件的sql语句中

      • 1)parametertype:写在mapper文件中的一个属性。表示dao接口中方法的参数的数据类型

        • 例如StudentDao接口
          • public Student selectStudentById(Integer id)
      • 2)一个简单类型的参数

        • 简单类型:mybatis把java的基本数据类型和String都叫简单类型
        • 在mapper文件获取简单类型的一个参数的值,可以使用 #{任意字符}
          • eg
            • 接口: public Student selectStudentById(Integer id);
            • mapper: select id,name,email,age from student where id=#{id}
      • 3)多个参数,使用@Param命名参数

        • 接口 public List selectMulitiParam(String name,Integer age);
        • 使用 @Param(“参数名”) String name: public List selectMulitiParam(@Param(“myname”) String name,@Param(“myage”) Integer age);
        • mapper:select id,name,email,age from student where name=#{myname} and age=#{myage};
      • 4)多个参数,使用java对象作为接口中方法的参数

        • 接口:public List selectMultiObject(QueryParam param); // QueryParam是一个自定义的java对象
        • mapper:
          select id,name,email,age from student where name=#{paramName} and age=#{paramAge}
          // #{} {}中存放自定义java对象的属性
      • 5)多个参数,按位置传参(了解即可),---- #{0} #{1}。。。。

      • 6) 多个参数,使用Map传参(了解即可)

    • #和$

      • #是占位符,告诉mybatis使用实际的参数值代替。并使用PrepareStatement对象执行sql语句。#{…}代替sql语句的"?".这样做更安全,
        更迅速,通常也是首选做法

      • $ 字符串替换,告诉mybatis使用包含的”字符串“替换所在位置。使用Statement把sql语句和包含的”字符串“替换所在位置。使用Statement把sql语句和包含的”字符串“替换所在位置。使用Statement把sql语句和{}的
        内容连接起来。主要用在替换表名,列名,不同列排序等操作。

        • 存在sql注入问题,数据执行效率低,能用#就不要用$

        • $可以替换表名或者列名,你能确定数据是安全的,可以使用$

    • mybatis的输出结果

      • mybatis执行了sql语句,得到java对象
        • resultType
          • 结果类型,指sql语句执行完毕后,数据转为的java对象
            • resultType结果类型的它值
              • 类型的全限定名称
              • 类型的别名,例如java.lang.Integer 别名int
            • 处理方式:
              • mybatis执行sql语句,然后mybatis调用类的无参数构造方法,创建对象
              • mybatis把ResultSet指定列值赋给同名的属性
          • resultType的默认原则是:同名的列值赋值给同名的属性,使用列别名
          • 别名
            • 在mybatis主配置文件定义别名
              • 使用
              • 使用;类名就是包名
        • resultMap
          • 自定义列名和java对象的属性名对应关系

          • 列名和属性名不一样解决方式

            • 使用列名
            • 使用resultMap
          • 使用resultMap

            • 1)先定义resultMap
              1. 在select标签,使用resultMap来引用自定义的
        • resultType 和resultMap在使用的时候,二选一
    • like

      • 在java代码中指定like的内容
      • 在mapper中拼接like
使用Dify打造视频生成工作流:从提示词到视频的完整指南 Dify作为开源LLM应用开发平台,通过可视化工作流编排实现从文本到视频的端到端生成,将创意周期从天级缩短至分钟级。核心流程包括提示词工程、视频API调用、存储分发和结果反馈。 阅读详情

相关推荐

WebDriverAgent 菜鸟解析篇

WebDriverAgent 是一个用于模拟移动设备浏览器的 Python 库,可以用来在 PC 上模拟移动设备的浏览器操作,从而进行自动化测试。下面是一个菜鸟对 WebDriverAgent 源码的解析篇,希望能对初学者有所帮助。

DJ355的博客 1212

F003MyBatis学习笔记-MyBatis增删改查及深入

一、自定义mybatis开发流程图(回顾) 二、mybatis增删改查 代码: pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XM...

訾博(ZiBo)的博客 484

Isaac Gym摄像头数据获取全攻略:从CPU到GPU,教你实时显示RGB与深度图

本文详细介绍了在Isaac Gym中获取摄像头数据的两种高效方案:CPU模式与GPU张量模式。通过实战代码示例,展示了从摄像头配置、数据获取到实时可视化RGB与深度图的全流程,帮助开发者优化机器人仿真与计算机视觉应用的性能。特别强调了GPU模式下的零拷贝访问与张量运算优势,适用于需要低延迟处理的场景。

weixin_29056701的博客 379

学习笔记003——MyBatis模糊查询

MyBatis模糊查询

code__bee的博客 498

MICROSAR OS:第一个task是如何执行起来的?

MICROSAR OS是Vector公司开发的符合AUTOSAR OS规范的实时操作系统。本文介绍MICROSAR

humu7733的博客 2559

汇丰外包Java岗面试复盘:Zoom面1.5小时,从英语、粤语到现场敲代码的极限挑战

本文详细记录了汇丰银行外包Java岗位的面试全过程,包括多语言切换(英语、粤语)的技术沟通挑战和现场编码测试的实战经验。从高并发编程到JVM调优,面试不仅考察技术深度,更注重实战问题解决能力。文章分享了应对跨国银行技术面试的实用策略,帮助Java开发者在跨文化环境中提升竞争力。

weixin_42524824的博客 353

Mybatis003

练习一: 1.在接口 BillMapper中添加方法 //根据供应商id ,获取这些对应商的订单列表信息(数组入参) public List<Bill> getBillByProviderArray(Integer[] ids); //根据供应商id ,获取这些对应商的订单列表信息(List入参) public List<Bill> getBillByProviderList(List<Integer> idlist); 2.在Bill.

qq_43411521的博客 413

PostgreSQL 在 Windows操作系统 无管理员权限情况下的部署详解

但是因为使用默认5432端口,我们修改了端口,所以连接报错,需要修改local连接信息,右键-属性修改相应信息即可,方式同上。(也别太任意吧,个人习惯工具放在不包含中文及特殊字符的目录,另外目录名尽量简短,避免不必要的麻烦)图中我解压到了自己的tools\postgresql18。1)如果想修改默认的5432端口,找到初始化目录中的(上面的tools\postgresql18\。此处替换成你的实际目录\tools\postgresql18\pgsql\pgAdmin 4\runtime。

dong_zhi2328的博客 1113

mybatis初探003

1.mybatis实现新增 1功能:从应用程序角度出发,软件具有哪些功能 2业务:完成功能时的逻辑对应Service中的一个方法 3事务:从数据库角度出发,完成业务时需要执行的SQL集合,统称一个事务。 2在mybatis中默认是关闭了JDBC的自动提交功能 2.1每一个 SqlSession默认都是不自动提交事务 2.2session.commit()提交事务 2.3openSession(true);自动提交.setAutoCommit(true); 3mybatis底层是对JDBC的封装 3.1JDB

hui1097的博客 187

JavaScript教程-字符集,Unicode转义序列,标识符,数据类型,数字,未定义值,浮点数,字符串,引用数据类型,类型检测,类型转换,运算符,关系运算符,

前端学习

VAN 206

C++多线程 task--std::promise和std::future

本文主要讲解C++11/14/17中所提供的应用于多线程编程中的Task机制。Task可由如下几部分取得而本文主要讲解std::promise和std::future相关的内容。std::promise和std::future通过一个数据管道进行交流,可以将std::promise看作生产者,std::future看作消费者,其两者形成如下的方式交互std::promise本身是一个模版类,通过std::promise可以像数据管道中设置value,异常和相应的通知信息。std::promise提供了如下接

qls315的博客 1808

003Mybatis传参

{age,javaType=int,jdbcType=NUMERIC,

存在,即合理 413

【推荐100个unity插件之2】 DoTween动画插件的安装和使用整合(最全)

摘要:DOTween动画插件使用指南 DOTween是Unity中强大的动画插件,比原生动画更便捷。安装后需进行初始化设置,通过工具菜单生成程序集。主要提供通用方法(DOTween.To)和便捷方法(如transform.DOMove)两种动画实现方式。插件支持丰富的动画设置(循环、缓动等)和事件回调(OnComplete、OnKill)。还提供动画管理功能,包括清除(DOTween.Clear)、完成(DOTween.CompleteAll)和终止(DOTween.KillAll)动画。常用功能涵盖移动、

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1万+

003Mybatis之结果集与日志

结果集映射是为了解决实体类的属性名与数据库字段名不一致的问题,为了便于测试和对比,也是采用新建模块,并把第2节的项目完全复制过来002Mybatis进阶 项目结构如下 测试也成功,准备工作完毕! 接下来,我们将实体类的属性password改成pwd,与数据库字段不同 package com.francis.pojo; /** * @author ZQ * @create 2021-04-29-15:32 */ public class User { private int id;

qq_44835120的博客 271

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

003 Mybatis

1. 入门案例 第一步: 创建一个java项目 ——> 创建lib文件夹 ——> 指定lib为我们使用jar包的路径(buildpath) 第二步: 导入相应的jar包 1、log4j(日志) 2、mysql(链接数据库) 3、mybatis(Mybatis框架的依赖) 第三步: 导入配置文件 log4...

fighting_cui的博客 141

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

MyBatis详细学习笔记

MyBatis 是一款优秀的,它支持自定义 SQL、存储过程以及高级映射。。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis本是apache的一个开源项目iBatis2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。

泰勒今天想展开的博客 1356

003mybatis源码

Be_With_I的博客 171

Mybatis接口式编程003

Mybatis接口式编程 1.接口编程 原声 DAO ==&gt;DaoImpl Mybatis Mapper ==&gt;xxMapper.xml 2.SqlSession 代表和数据库的一次会话,用完必须关闭。 3.SqlSession...

Joker_MID的博客 237

Mybatis 003 简单的增删改查

使用Mapper接口映射sql语句的基本思路 我们有以下配置文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> ...

『程序员·小李』的博客 446

【Mybatis从0到1-003】mybatis框架及简单入门程序

mybatis是持久层的框架,是Apache下的顶级项目。2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)

Chanson 620

【java笔记-003】mybatis.xml 文件找不到的问题

1.背景前提 如果配置文件较多的时候,一般会在 resources 文件夹下再创建一个 config 文件夹 用于管理,但是程序运行的时候可能会出现could not find resource mybatis-config.xml 这样的错误 2.目录结构 通常我们将 mybatis.xml 放到 resources 根目录下就可以直接引入了, 所以下面这种写法创建sqlSessionFactory 是可以的: import org.apache.ibatis.io.Resources; .

adamlevine7的博客 2708

mybatis工作笔记003---Mybatis批量删除deleteByIds的用法

技术交流QQ群【JAVA,C++,Python,.NET,BigData,AI】:170933152 Mybatis批量删除deleteByIds的用法: ids要是:"1,2,3"的格式 String ids = ""; for (int i = 0; i < sysTestList.size(); i++) { if (i == sysTestList.size() ...

添柴程序猿的专栏 3955

003,Mybatis增删改查

Mybatis增删改查 1,概述: 我们上节课学了一下Mybatis的基本入门,这节课我们学习一下Mybatis的增删改查功能。而查询我们之前都讲过了,这里就过在赘述,我们重点讲添加修改删除。 2,封装获取SqlSession的工具类: package com.vgxit.learn.vgmybatis.ktdm.tool; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; im

V哥教育,java技术博客 395

003-Spring整合JdbcTemplate及Mybatis

1.1、概述 它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多的操作模板类。 操作关系型数据的: JdbcTemplate HibernateTemplate 操作 nosql 数据库的: RedisTemplate 操作消息队列的: JmsTemplate 我们今天的主角在 spring-jdbc.jar 中,我们在导包的时候,除了要导入这个 jar 包 外,还需要导入一个 s

rightsizing的博客 810

MyBatis全局文配置件 - 【003】

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。本文包含configuration各项 配置的介绍和使用。

熙乎的博客 389

【狂人小白】MyBatis.003 使用properties文件!

上一章:MyBatis.002 第一个查询! 下一章:MyBatis.004 第一个插入! 什么是properties文件? 以后缀为properties命名的文件,类似Windows中的ini文件 主要用作配置管理 举个例子,如下代码,此代码我们将要在后面使用 文...

97

MyBatis—利用MyBatis查询(查询所有,查询一行,条件查询)

MyBatis—利用MyBatis查询(查询所有,查询一行,条件查询)

chenxingxingxing的博客 3万+
上一篇: MyBatis学习笔记-002
下一篇: MyBatis学习笔记-004
__BC__
博客等级 码龄7年 5粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__BC__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值