首页 > 数据库 >mybatis&mybatis-plus的sql语句

mybatis&mybatis-plus的sql语句

时间:2023-01-14 22:59:12浏览次数:37  
标签:语句 映射 使用 plus sql mybatis id

在springboot项目中,我们会使用到sql语句,要么是使用mybatis-plus底层已经写好的,要么是使用mybatis,来编写对应的sql映射文件.

注意:在springboot中,只需要导入mybatis-plus就可以二者都拥有了

 

今天介绍mybatis中的sql映射文件

1.一个xxxmapper接口对应一个xxxmapper.xml映射文件,这个文件需要在springboot的配置文件中去配置

下面配置了命名空间,路径,表名前缀及id的类型

 

 

 sql映射文件的输入,输出类型

我们在数据库执行增删改查操作时,不同的操作返回不同的数据类型

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 以上是在数据库执行的增删改查语句,由上图我们可以看到,增删改是不返回数据的,只有查询,无论它是值还是没有值,它都会返回,所以,在我们的映射文件语句中,凡是执行select语句,都要有输入(parameterType),输出数据(resultType或者resultMap),不然就会报错

 

 

 

parameterType输入类型

1.输入简单数据类型

1.1使用#{}占位符,里面传入前端传来的数据,有效的防止了之前由于?带来的sql注入问题,

1.2${}做拼接,在使用like关键字的时候,使用${}拼接,不需要在传参的时候手动加入%%,而使用#{}的话,需要手动添加%%进行传参.

 

2.输入对象

3.输入一个包装类的对象(一个类包含另一个类的属性)

在一个实体类中,添加另一个实体类(例如写法:private User user;)

 

resultType输出类型

1.返回一个简单类型

2.返回对象(单个,多个都可以)

前提条件:列名必须与属性名一致,其中有一个相同就会创建对象,没有相同的,则不创建对象

 

resultMap输出类型

1.解决resultType出现的问题:属性名与列名不一致

<result column="字段" property="属性名">

2.对象中包含了另外一个对象(一对一,一对多,多对多关联关系),使用resultType进行映射 .

一对一(两个表):添加关联属性

使用association标签输出关联的单个对象的信息,id作为主键映射

一对多(两个以上表):使用集合,new一个Arraylist包含对象的属性

多对多:使用多个association映射

 

善于where 1=1恒等关系,在多条件拼接时

SELECT a.id,a.title,u.nick_name,a.comment_count,a.update_time,a.firstImg, 0 as type
FROM tb_article a,tb_user u
WHERE 1=1 AND a.user_id = u.id AND a.title like ${key}
ORDER BY hot ASC limit 0,10

为了避免where后面第一个词就是and,而导致的语法错误

 

标签:语句,映射,使用,plus,sql,mybatis,id
From: https://www.cnblogs.com/pilpill/p/17052618.html

相关文章

  • mysql索引优化-01
    1.1索引是什么?  mysql官方对于索引的定义:可以帮助mysql高效的获取数据的数据结构。  mysql在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据......
  • 《SQL基础》03. SQL-DML
    目录DML数据插入数据删除数据更新DML数据插入给指定字段添加数据:INSERTINTO表(字段1,字段2,......,字段n)VALUES(值1,值2,......,值n);给全部字段添加数据:......
  • mysql进阶
    事务 要么都成功,要么都失败ACID原子,一致,持久,隔离原子性,一致性,隔离性,持久性原子性:要么都成功,要么都失败回滚一致性:事务前后的数据完整性要保证一致持久性:事务一......
  • Mybatis (四) Mybatis动态SQL
    Mybatis动态SQL☞​​博客导航​​,​​带你有序的阅读和学习!​​文章目录​​概念​​​​if标签​​​​choose标签​​​​trim标签​​​​foreach标签​​​​bind......
  • Mybatis (五) Mybatis参数传递
    Mybatis参数传递☞​​博客导航​​,​​带你有序的阅读和学习!​​文章目录​​Mybatis参数传递​​​​概述​​​​单个参数​​​​多个参数​​​​方法1:使用方法参数......
  • Mybatis (三) Mybatis映射文件
    Mybatis映射文件☞博客导航,带你有序的阅读和学习!文章目录​​Mybatis映射文件​​​​基本CRUD​​​​增加​​​​增加并返回ID​​​​删除​​​​更新​​​​查询​......
  • Shiro+SpringBoot+Mybatis+Redis实现权限系统
     这个项目涉及到的技术:SpringBoot,Thymeleaf,MyBaits,Redis,Shiro,JavaMail,EasyUI,Excel导入、导出 下面展示一下界面: 主页:  用户列表:  角色权限授予: 资源列表:  用户角......
  • mysql like性能优化
    网上很多优化like的方法,无非下面几种,抄来抄去的。我用213万条数据,每条数据50个字段左右(用的真实的生产环境的mysql数据库,和真实的生产环境的数据),做了性能测试;时间记录的次数......
  • mysql 处理空格数据
    mysql中有处理空格的函数,做个简单介绍:1.TRIM()函数这个函数的用法很简单,但是无法去除中间的空格--去除左右空格SELECTTRIM('fdfd');SELECTTRIM(BOTH''FROM'......
  • SQL Server 客户端超时设置
    我们经常看到MSSQL服务器参数配置及SSMS中有很多地方设置超时,但是这些参数即使设置成1秒钟,执行各种查询似乎也正常。所以完全不知道有什么用(疑惑脸……)。之前有遇到也没明......