首页 > 其他分享 >day07-Mybatis

day07-Mybatis

时间:2024-03-05 10:57:47浏览次数:20  
标签:XML Mapper 映射 数据库 day07 接口 sql Mybatis

Mybatis

用于操作数据库,简化jdbc开发

入门

JDBC

操作操作型数据库的接口规范

数据库连接池

分配、管理数据连接

基础操作

删除

参数占位符

  • #{}

#{} 会替换为 ?,生成预编译sql,参数传递时使用

优:性能更高、防止Sql注入

  • ${}

直接拼接

新增

如果传入多个参数,可以封装到一个对象中进行传递

主键返回

更新

查询

数据封装

  • 实体类属性名和数据库表查询返回的字段名一致,会自动封装
  • 实体类属性名和数据库表查询返回的字段名不一致,不会封装,使用起别名/注解进行映射/驼峰命名自动映射

XML映射文件

  • XML映射文件名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)
  • XML映射文件的namespace属性为Mapper接口全限定名一致(copy reference)
  • XML映射文件中sql语句的id与Mapper接口中的方法名(id)一致,并保持返回类型(resultType)一致(copy reference)

简单的增删改查sql语句,推荐使用注解。复杂sql语句,建议使用xml配置

动态sql

  • <if>

<where> <set>自动拼接语法

  • <foreach>

遍历集合

  • <sql> <include>

定义-引用复用sql语句

标签:XML,Mapper,映射,数据库,day07,接口,sql,Mybatis
From: https://www.cnblogs.com/forest-pan/p/18053493

相关文章

  • mybatis中<![CDATA[]]>的用法
    一、<![CDATA[]]>介绍在mybatis的xml映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[]]>来解决。<![CDATA[]]>是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。假如文本包含了很多的"<"......
  • 简易MyBatis-plus回顾
    一:要说到plus就得先回顾一下mybatis,我们为什么要要用到mybatis呢我认为大致是两点1.在项目开发中,查询数据库完了后返回值都是实体对象,那么通过mybatis可以实现自动封装这边补充一个当实体类和数据库表不一致时有三种处理方法 a:起别名b:result注解c:开启驼峰映射2.大大简化了......
  • 【Mybatis】【三】源码分析- MapperFactoryBean 的创建过程以及 Mapper 接口代理的生
    1 前言本节我们续前两节(调试查看Mapper接口生成过程、源码分析Mapper生成注入入口分析)的内容,看下MapperFactoryBean是如何代理掉我们的@Mapper接口的。上节我们看到我们的Mapper接口的BeanDefinition,已经放进spring的上下文中了,也就是在BeanFactory的BeanDefin......
  • mybatisPlus分页查询
    配置类:packagecom.oep.backend.config;importcom.baomidou.mybatisplus.annotation.DbType;importcom.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;importcom.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;importo......
  • MybatisPlus的一些坑
    当使用MybatisPlus更新数据的时候,比如updateById(),update()。如果被更新的对象中的字段是NULL,默认会忽略掉这个为NULL的字段。解决方案有两个:1.使用注解主要是@TableField注解中的属性:updateStrategy属性。但是不推荐这样做,这样做会很危险!!2.使用构造器更新数据建议使用构......
  • spring-boot整合jsp + mybatis ems小案例分析
    1.项目开发流程 需求分析:分析用户主要需求提取出项目核心功能根据核心功能构建页面原型 库表设计(概要设计):1.分析整个系统有哪些表2.分析出表之间关联关系3.确定字段 详细设计(流程图,伪代码):用来验证库表准确性 功能实现(编码):环境搭建具体功能实现 功能测试......
  • Mybatis-Plus接入多个数据源
    导入依赖<!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.2.0</version></dependency>编辑properties#db1spring.d......
  • Mybatis 批量更新 PostgreSQL 数据库,返回更新行数
    1.拼接成1条sql语句,可返回修改行数。PostgreSQL的批量更新原生sql:updatepersonsetname=tmp.name,age=tmp.age,addr=tmp.addr,num=tmp.num,update_time=tmp.update_timefrom(values(1,'关羽',43,'成都',1,'2021-03-2617:32:2......
  • Mybatis系列之(七)参数深入
    参数深入1.ParameterType(输入类型)1.1通过ParameterType传递Pojo对象Mybatis使用ognl表达式解析对象字段的值ognl表达式objectgraphicnavigationlanguage对象图导航语言通过对象的取值方法(属性的get方法)来获取数据,在写法上把get给省略了......
  • Mybatis系列之(六)MyBatis的CRUD操作
    MyBatis的CRUD操作CRUD操作指的是增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)操作1.编程步骤在dao接口中写方法映射配置文件中写对应的配置如果是Insert操作,占位符使用#{},括号中的内容要与实体类属性的get/set方法名保持一致(如果是通过右键生成的方法,......