
3----MyBatis
文章平均质量分 52
MyBatis
小小渔夫
我只是一粒灰尘,呼吸着神圣的气息,是你使我转向你。
展开
-
填坑MyBatis中Integer类型传参问题
MyBatis传参Integer类型未生效的问题原创 2023-07-07 14:30:31 · 1006 阅读 · 0 评论 -
MyBatis新增返回主键的两种方法
MyBatis新增时返回主键值原创 2022-06-02 11:12:28 · 3605 阅读 · 0 评论 -
MyBatis关联查询
目录概念一对一关联查询实现方式一对多关联查询多对多关联查询概念关联查询,是一种级联关系,级联关系是一个数据库实体的概念。在级联中存在 3 种对应关系。一对一的关系:一个学生有一个学号。 一对多的关系:一个班级有很多学生。 多对多的关系:有些公司一个角色可以对应多个用户,但是一个用户可以兼任多个角色。通俗的说,一个人既可以是总经理,同时也是技术总监,而技术总监这个职位可以对应多个人,这就是多对多的关系。一对一关联查询一对一级联关系在现实生活中是十分常见的,例如原创 2022-03-10 11:33:15 · 1197 阅读 · 0 评论 -
MyBatis和ORM的区别
ORMORM: 即Object Relation Mapping,即对象关联映射。所以ORM就是将Java中的对象和数据库中的表关联对应起来MyBatisMybatis相当于将mapper中的入参和出参结果集封装到java的POJO类中,实际上Mybatis是半ORM,它鼓励开发人员自己去写sql,也正是因为sql语句要自己写,所以Mybatis是将java方法与sql语句关联起来,而没有将java对象与数据库关联起来。补充流行的ORM框架1、JPA:JPA本身是一种ORM规.原创 2022-02-16 10:45:12 · 2589 阅读 · 0 评论 -
MyBatis缓存机制-Note
前言MyBatis是常见的Java数据库访问层框架,在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,MyBatis提供的缓存机制可以减轻数据库压力,提高数据库性能。MyBatis的缓存分为两级:一级缓存、二级缓存一级缓存是SqlSession级别的缓存,缓存的数据只在SqlSession内有效。二级缓存是mapper级别的缓存,同一个namespace公用这一个缓存,所以对SqlSession是共享的。一级缓存一级缓存为 sqlsesson 缓存,缓存的数据原创 2022-02-16 10:18:59 · 202 阅读 · 0 评论 -
Mybatis 判断字符串null不生效
场景使用Mybatis进行非空判断,但是发现控制台打印的日志中显示,!=null没有生效。源代码<if test="applicationName != null and applicationName != ''"> AND ol.method_name like CONCAT("%",#{applicationName,jdbcType=VARCHAR},"%")</if>解决经排查发现,前端传参null为字符串null,难怪!=null.原创 2021-09-10 15:12:29 · 4318 阅读 · 0 评论 -
SpringBoot整合MyBatis
序言在我们很熟知的SSM框架中,MyBatis的配置相当繁琐,相比较而言使用SpringBoot极其简洁。SSM框架中有Sring-mybatis配置,又有mybatis-config配置,并且要写很多配置文件。既然SpringBoot简单易用,它如何配置整合MyBatis呢。MyBatis-Spring-Boot-StarterMyBatis-Spring-Boot-Starter类似一个中间件,链接Spring Boot和MyBatis,构建基于Spring Boot的MyBatis应用原创 2021-03-15 14:55:37 · 422 阅读 · 2 评论 -
MyBatis实现模糊查询的三种方式
概念模糊查询即模糊检索,是指搜索系统自动按照用户输入关键词的同义词进行模糊检索,从而得出较多的检索结果。与之相反的是“精准搜索”。对于MyBatis来说大概有如下几种方式实现:①使用$占位符,②使用数据库函数concat,③使用 MyBatis的动态SQL标签<bind>,本文主要重点介绍第二种方法的实现。方法一直接使用 % 拼接字符串,如'%'#{name}'%...原创 2020-01-08 11:23:38 · 3885 阅读 · 4 评论 -
扫雷(一):MyBatis查询结果为null,但数据库查询存在该记录
背景在实现一个查询数据的需求中,新建表,然后一步一步写mapper,写Dao等等。所有写完后,开始启动运行。页面中显示有一列有数据,但是其他列无数据。一脸懵有木有...然后后台将List打印出来,仍是空,sql查询语句有毛病,验证了之后完全没毛病。最后发现是Java实体类的命名和数据库不一致。问题:数据库的字段 order_id,line_stationJava的实体类中对应字段...原创 2019-12-24 17:00:42 · 901 阅读 · 0 评论 -
IDEA插件Free MyBatis plugin实现点击dao层方法直接跳转到对应xml
前言近来在码项目的过程中,从dao层方法进入xml文件中查看方法,可以说是相当麻烦。先复制,然后再到xml文件中查找。费时费神,于是想着有没有这样一个插件,可以跳转。于是乎找到Free Mybatis plugin插件,下面简单介绍下这个插件的使用。介绍Free MyBatis plugin是一款增强idea对mybatis支持的插件,主要功能如下:生成mapper xml文件...原创 2019-12-19 14:01:31 · 6633 阅读 · 0 评论 -
MyBatis逆向工程(二)数据源—Oracle
前言在上一篇博客中,分享了如何使用Mybatis逆向生成POJO以及Mapper文件。这篇文章分享的是基于MySQL数据库,今天我们来看看基于Oracle数据库,如何使用Mybatis逆向生成文件。分享之前插入一个话题,就是为什么使用逆向工程。(ps:虽然好用,也要知其然)正向工程正向工程是通过实现语言的映射而把模型转换为代码的过程。一般工业产品开发是从确定预期功能与规格目标开始,构思...原创 2019-11-29 16:22:23 · 1073 阅读 · 0 评论 -
MyBatis逆向工程
关于MyBatis MyBatis支持普通sql查询,MyBatis是一个持久层框架,支持定制化(按开发需求编写)SQL,支持存储及高级映射。MyBatis不像JDBC代码,手动设置参数及获取结果集。它可以对配置和原生Map使用简单的XML或注解,将接口和普通的java对象映射成数据库中的记录。MyBatis的优缺点优点:简单易学: 本身就很小且简单。没有任何第三方依赖,最简单安装只要两个...原创 2018-05-22 15:35:09 · 3480 阅读 · 2 评论 -
项目开发中使用MyBatis时的错误记录
1、返回类型错误Notenested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.XXX.park.model.XXX with invalid types (String,String,String,String,String,String,...原创 2018-06-08 15:25:29 · 296 阅读 · 0 评论 -
MyBatis如何防止SQL注入
SQL注入 什么是SQL注入呢?首先SQL注入是一种攻击手段,一种使用构造恶意的SQL语句,欺骗服务器执行SQL命令,让后台的数据库去解析,从而达到入侵目标网络,获取敏感信息。MyBatis如何防止SQL注入SQL中#和$区别#$相当于对数据加上双引号相当于直接显示数据很大程度上防止SQL注入无法防止SQL注入#{xxx},使用的是PreparedStatement,会有类型转换,比较安全${x...原创 2018-05-22 16:34:04 · 907 阅读 · 0 评论 -
MyBatis返回类型
分类及返回值类型对应的分类为resultMap resultType对应返回值类型resultMap:结果集 resultType:int,string ,long ,class要点在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。1、当提供的返回类型属性是resultType时,MyBatis会将Ma...原创 2019-06-10 18:14:01 · 9633 阅读 · 0 评论