
mybatis
文章平均质量分 87
mybatis使用
soliderzzz
沉迷学习,不能自拔,strategic FooYou Agent
展开
-
Mybatis Interview Question Summary
Answer: The Dao interface is commonly referred to as the Mapper interface. The fully qualified name of the interface is the value of the namespace in the mapping file, the method name of the interface is the ID value of the MappedStatement in the mapping f原创 2024-05-04 14:55:58 · 1109 阅读 · 0 评论 -
mybatis如何通过接口查找对应的mapper.xml及方法执行详解
本文主要介绍的是关于mybatis通过接口查找对应mapper.xml及方法执行的相关内容,下面话不多说,来看看详细的介绍:在使用mybatis的时候,有一种方式是BookMapper bookMapper = SqlSession().getMapper(BookMapper.class)那么接口是如何与mapper.xml对应的呢?获取接口,然后调用接口的方法。只要方法名和对应...转载 2019-08-11 14:33:55 · 8593 阅读 · 2 评论 -
Mybatis面试题总结
Mybatis面试题总结1. 最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗? 答:Dao接口,就是人们常说的Mapper接口,接口的全限名,就是映射文件中的namespace的值,接口的方法名,就是映射文件中MappedStatement的id值,接口方法内的参数,就是传递给sql的参数。Mapper接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼接字符串作为key值,可唯一定位一个M转载 2020-09-20 13:48:13 · 171 阅读 · 0 评论 -
MyBatis从入门到精通(第6章):6.3 使用枚举或其他对象
6.3 使用枚举或其他对象在 sys_role 表中存在一个字段 enabled,这个字段只有两个可选值,0 为禁用,1 为启用。但是在 SysRole 类中,我们使用的是Integer enabled,这种情况下必须手动校验 enabled 的值是否符合要求。在只有两个值的情况下,处理起来还比较容易,但是当出现更多的可选值时,对值进行校验就会变得复杂。因此在这种情况下,我们通常会选择使用枚举来解决。6.3.1 使用 MyBatis 提供的枚举处理器在tk.mybatis.simple.ty..转载 2020-09-20 13:21:55 · 216 阅读 · 0 评论 -
MyBatis从入门到精通(第6章):MyBatis 高级查询->6.1.2高级结果映射之一对多映射
6.1 高级结果映射在关系型数据库中,我们经常要处理一对一、一对多的关系。在 RBAC 权限系统中还存在着一个用户拥有多个角色、一个角色拥有多个权限这样复杂的嵌套关系。使用已经学会的 MyBatis 技巧都可以轻松地解决这种复杂的关系。在面对这种关系的时候,我们可能要写多个方法分别查询这些数据,然后再组合到一起。这种处理方式特别适合用在大型系统上,由于分库分表,这种用法可以减少表之间的关联查询,方便系统进行扩展。但是在一般的企业级应用中,使用 MyBatis 的高级结果映射便可以轻松地处理这..转载 2020-09-20 13:20:42 · 243 阅读 · 0 评论 -
MyBatis从入门到精通(第6章):MyBatis 高级查询->6.1.1高级结果映射之一对一映射
6.1 高级结果映射在关系型数据库中,我们经常要处理一对一、一对多的关系。在 RBAC 权限系统中还存在着一个用户拥有多个角色、一个角色拥有多个权限这样复杂的嵌套关系。使用已经学会的 MyBatis 技巧都可以轻松地解决这种复杂的关系。在面对这种关系的时候,我们可能要写多个方法分别查询这些数据,然后再组合到一起。这种处理方式特别适合用在大型系统上,由于分库分表,这种用法可以减少表之间的关联查询,方便系统进行扩展。但是在一般的企业级应用中,使用 MyBatis 的高级结果映射便可以轻松地处理这..转载 2020-09-20 13:18:51 · 1271 阅读 · 0 评论 -
(第4章):MyBatis动态SQL【foreach、bind、OGNL用法】
4.4 foreach 用法SQL 语句中有时会使用 IN 关键字,例如 id in(1,2,3)。可以使用 ${ids}方式直接获取值,但这种写法不能防止 SQL 注入,想避免 SQL 注入就需要用#{}的方式,这时就要配合使用 foreach 标签来满足需求。foreach 可以对数组、Map 或实现了Iterable 接口(如 List、Set)的对象进行遍历。数组在处理时会转换为 List 对象,因此 foreach 遍历的对象可以分为两大类:Iterable 类型和 Map 类型。这...转载 2020-08-23 16:47:59 · 1869 阅读 · 0 评论 -
(第4章):MyBatis动态SQL【if、choose 和 where、set、trim】
MyBatis 的强大特性之一便是它的动态 SQL。MyBatis 3.4.6版本采用了功能强大的OGNL(Object-Graph Navigation Language)表达式语言,以下是MyBatis的动态SQL在XML中支持的几种标签。if choose(when、otherwise) trim(where、set) foreach bind本章除了讲解这几种标签的用法外,还会介绍如何在一个 XML 中针对不同的数据库编写不同的 SQL 语句,另外会对这 5 种标签中必须要用到的 ..转载 2020-08-23 16:42:55 · 591 阅读 · 1 评论 -
MyBatis从入门到精通(第3章):MyBatis注解方式的基本使用
这种方式的优点是 :对于需求比较简单的系统,效率较高。缺点是,当SQL有变化时都需要重新编译代码,一般情况下不建议使用MyBatis的注解方式。因此,(原书)本章不会进行深入讲解。在MyBatis注解SQL中,最基本的就是@Select 、@Insert 、@Update 和@Delete 四种。下面以 RoleMapper 为例,对这几个注解的用法进行讲解。3.1@Select 注解在 cn.bjut.simple.mapper.RoleMapper 接口中...转载 2020-08-23 16:36:37 · 405 阅读 · 0 评论 -
MyBatis从入门到精通(第2章):MyBatis XML方式的基本用法【insert用法、update用法、delete用法】
2.4 insert 用法2.4.1 简单的 insert方法在接口 UserMapper.java 中添加如下方法。 /** * 新增用户 * @param sysUser * @return */ int insert(SysUser sysUser);然后打开对应的 UserMapper.xml 文件,添加如下代码。<insert id="insert"> INSERT INTO sys_user..转载 2020-08-23 16:27:14 · 1410 阅读 · 0 评论 -
MyBatis从入门到精通(第2章):MyBatis XML方式的基本用法【select用法】
本章将通过完成权限管理的常见业务来学习 MyBatis XML方式的基本用法。这个权限管理控制,采用RBAC(Role-Based Access Control,基于角色的访问控制)方式。2.1 一个简单的权限控制需求权限管理的需求:一个用户拥有若干角色,一个角色拥有若干权限,权限就是对某个模块资源的某种操作(增、删、改、查),这便是“用户-角色-权限”的授权模型。采用RBAC授权模型,用户与角色之间、角色与权限之间,一般是多对多的关系。2.1.1 创建数据库表在已经创建好的 .转载 2020-08-23 16:12:45 · 287 阅读 · 0 评论 -
第1章 Mybatis入门
1.1 Mybatis简介MyBatis是一款支持自定义SQL查询、存储过程和高级映射的持久层框架。消除了几乎所有JDBC代码和参数的手动设置以及结果集的检索。MyBatis可以使用XML或注解进行配置和映射。它通过将参数映射到配置的SQL最终形成执行的SQL语句,最后将执行的SQL的结果映射成Java对象返回。与其他的ORM(对象关系映射)框架不同,MyBatis并没有将Java对象与数据库表关联起来,而是将Java方法与SQL语句关联。MyBatis 支持声明式数据缓存(decla..转载 2020-08-23 15:57:44 · 371 阅读 · 0 评论