![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Mybatis
mybatis及相关dao层框架
会飞地太阳
Life begins at the end of your comfort zone
展开
-
MybatisPlus忽略映射字段
在开发中我们可能会遇到MybatisPlus使用实体类属性进行SQL操作,实体中有这个属性,但是数据库的表没有这个字段(即:实体类属性非数据库表字段)。如果不做处理就会报错。API@TableName:数据库表相关@TableId:表主键标识@TableField:表字段标识@TableLogic:表字段逻辑处理注解(逻辑删除解决方案@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。 @TableField(exist =原创 2021-03-07 10:33:10 · 954 阅读 · 0 评论 -
Mybatis-plus各种查询方法
mybatis-plus的基础查询方法:@Testpublic void contextLoads() {}@Autowiredprivate UserInfoMapper userInfoMapper;/** * 普通查询 */@Testpublic void selectById() { UserInfo userInfo = userInfoMapper.selectById(123); System.out.println(userInfo);}.原创 2020-12-28 09:59:09 · 14019 阅读 · 0 评论 -
mybatis-plus-AutoGenerator的简单使用
今天项目经理要求在项目中整合mybatis-plus,这距离本人使用plus已经年代久远了。算是稍费一点点功夫,特作此记录。高手可以忽略,欢迎留言指正。1.引入maven依赖 <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>1.7</ver原创 2020-12-25 17:06:52 · 949 阅读 · 0 评论 -
mybatis-plus中主键填充策略
mybatis-plus中主键id默认使用雪花算法生成的唯一id,在实际业务中需要自定义时,可以修改其填充策略。mybatis-plus实体类实现主键策略有三种(注解>全局>默认)1. 局部主键策略实现在实体类中ID属性加注解@TableId(type = IdType.AUTO) 主键自增 数据库中需要设置主键自增private Long userId;@TableId(type = IdType.NONE) 默认 跟随全局策略走private Long userI原创 2020-12-23 16:26:07 · 1547 阅读 · 0 评论 -
mybatis中selectKey生成uuid(oracle、mysql)
https://blog.csdn.net/kongkongyanan/article/details/86096657https://blog.csdn.net/zziamalei/article/details/456062591. ORA-12519, TNS:no appropriate service handler found应该是项目中的有些算法把所有连接都占用了,没办法只能增大数据的连接,此时在navicat中运行SQL出现这个错误:Error - OCI_INVAL..原创 2020-12-29 09:55:37 · 1035 阅读 · 0 评论 -
@Repository和@Mapper的区别
无意间注意到在mapper接口上使用@Mapper注解,在服务层会爆红,但不影响使用。而使用@Repository可以消除爆红。不仅感慨这些基础在记忆中仿佛日渐模糊,特做一个小结,高手可以忽略。首先这两个都是注解在Dao层。而不同点:@Mapper是mybatis自身的注解,它不需要在Spring中配置扫描地址,通过xml里面的namespace里面的接口地址,生成Bean后注入到Service层中。@Repository是spring提供的注解,能够将该类注册成Bean。被依赖注入,但是使原创 2020-12-07 16:42:27 · 822 阅读 · 3 评论 -
mybatis+oracle实现模糊查询
mybatis在mapper.xml中拼写SQL本人感觉格式要求比较严格,在编写时我们最好规范书写,把字段相应的jdbcType的类型指定明确,避免出现类型转换方面的错误,再比如模糊查询使用like。第一种 concat<select id="getComMsgs" parameterType="String" resultMap="ZbComPcVoResult"> select COM_ID, COM_NAME, COM_QYBM, COM_QYXZ, COM_FRDB,.原创 2020-11-23 11:25:27 · 1763 阅读 · 0 评论 -
Mybatis解决字段与实体属性不一致问题
1. 写SQL语句时起别名2. 在mybatis的全局配置文件中开启驼峰命名规则3. 在mapper映射文件中使用resultMap来自定义映射规则在实际应用中,根据项目需求视具体情况而定。。。...原创 2020-04-19 00:10:00 · 249 阅读 · 0 评论 -
mybatis的执行器
mybatis的执行器有三种类型:ExecutorType.SIMPLE:这个类型不做特殊的事情,它只为每个语句创建一个PreparedStatement。ExecutorType.REUSE:这种类型将重复使用PreparedStatements。ExecutorType.BATCH:这个类型批量更新,且必要地区别开其中的select 语句,确保动作易于理解。具体解释可以参考博客:ht...原创 2020-04-08 19:58:23 · 378 阅读 · 0 评论 -
mybatis的四种分页方式
今天我们就来进行基于mybatis和MySql进行分页功能的实现。常见的数据分页有哪几种实现??基于数组的分页实现?基于sql语句的分页实现?还是通过拦截器进行数据分页功能?还是通过RowBounds参数进行物理分页?几种都是常用的分页实现原理,接下来就按照数组、sql语句,拦截器和RowBounds的方式介绍分页功能。一.借助数组进行分页原理:进行数据库查询操作时,获取到数据库中所有满...转载 2020-04-03 17:58:39 · 9080 阅读 · 0 评论 -
Mybaits控制台打印sql语句
网上对于mybatis打印sql语句的资料很多,但都没有自己总结的用的顺手,嘿嘿。。。。。。log4j.rootLogger=DEBUG,CONSOLE,filelog4j.logger.cn.siliang.dao=debug#SQL语句部分log4j.logger.com.ibatis=debug log4j.logger.com.ibatis.common.jdbc.Simpl...原创 2019-12-31 14:12:17 · 132 阅读 · 0 评论 -
Mybatis使用时注意事项
1. 特殊字符的处理第一种是把这些符号进行转义:> >< <<> <>& &' '" "左边的就是转义的字符表示,用这些就能走在xml文件中正确使用步骤一种...原创 2020-03-04 21:39:52 · 352 阅读 · 0 评论 -
Mybatis逆向工程(六)
Mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码,提高工作效率。逆向工程是一个普通的java项目:GeneratorSqlmap.javaimport java.io.File;import java.util.ArrayList;import java.util.List;import org.mybatis.generator....原创 2020-02-12 11:01:16 · 114 阅读 · 0 评论 -
Mybatis的动态开发(五)
Mybatis动态开发时Mapper需要遵循以下规范:1、Mapper.xml文件中的namespace与mapper接口的类路径相同。2、Mapper接口方法名和Mapper.xml中定义的每个statement的id相同3、Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同4、Mapper接口方法的输出参数...原创 2020-02-12 10:24:47 · 88 阅读 · 0 评论 -
Mybatis和Hibernate的区别(四)
Mybatis和Hibernate都是优秀的开源框架,它们都支持jdbc并且拥有缓存机制。那它们有什么区别呢?mybatis是不完全的orm框架,实现sql语句与java代码相分离,灵活度较高,适合需求变化多的项目。hibernate是ORM框架,以完全面向对象的方式操作数据库,数据库无关性好,但对sql的优化和修改比较困难,适合需求变化不多的中小型项目。https://blog.51...原创 2020-02-12 08:15:30 · 135 阅读 · 0 评论 -
Mybatis解决数据库字段名和实体类属性名不一致的问题(三)
通常我们设计数据库表字段时会使用下划线拼接,而javaBean中通常使用驼峰命名表示属性。如表中的某个字段user_id-->userId,如何解决数据库字段名和实体类属性名不一致的问题问题呢?方法一:使用别名的形式<select id="findByTel" resultType="user"> select user_id as userId, age,...原创 2020-02-11 22:21:37 · 2350 阅读 · 0 评论 -
Mybatis之#与$的区别(二)
在Mybatis简单入门的博客中,已经简单的看出#与$的区别,本文具体介绍它们的区别。#1.#{}可以防止sql注入,拿到值拼装sql时,会自动添加单引号,形参为单个的简单类型时可以随意填写。2.#{}传入值时,sql解析时,参数是带引号的。3.#{}: 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符,一个 #{ } 被解析为一个参数...原创 2020-02-11 22:00:10 · 129 阅读 · 0 评论 -
Mybatis入门详解(一)
一.什么是Mybatis官方说明: Mybatis是一款优秀的持久层框架,它支持制定化SQL,存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解来配置和映射原生信息,将接口和java的pojo映射成数据库中的记录。个人理解:Mybatis是一个半ORM(对象关系映射)框架,对jdbc的操作数据库库的过程...原创 2020-02-11 20:53:17 · 580 阅读 · 0 评论