MyBatis别名与util类技能了解
1.别名
在java中String类型就是String类型,但是在MyBatis中可不会识别java中的类型,在MyBatis中String类型的别名是'string',小写的String,或者也可以写成java.long.String。还有好多类型,基本数据类型在MyBatis中都有别名。
而且在MyBatis中不但有内置的别名,我们还可以自定义别名。
然后在咱们的小配置中的resultType的参数是咱们的实体类的全路径。
这样的话是不是很麻烦,我们可以给他自定义一个别名叫"Book"。 定义别名的第一步找到咱们的大配置文件中。
这样肯定是没有问题的,但是一定要注意一点,那就是在大配置中的configguration内的标签顺序不能变,现在我们可以看一下他底层的顺序,
我们现在可以看一下如果顺序写错了,会怎么样。
这样写会是说指定一个类的别名,如果我有好几个呢?这样一个一个写那不是太麻烦了,所以有一个解决办法,那就是在typeAliases中写package标签,就是在这个包下的类可以一个标签实现都有别名,比较方便。
2.util类
在MyBatis中的核心:
SqlSessionFactoryBuilder:他是根据你的配置然后通过他的build方法去构建一个SqlSessionFactory(简单工厂)
SqlSessionFactory:他有一个openSession方法去构建一个SqlSession对象。SqlSessionFactory是一个接口,不能new自己.
SqlSession:SqlSession提供了一些对数据库的操作(增删改查)。
还提供了commit方法用于事务。和close关闭的方法。
在什么情况下类不可以实例化:
- 他是抽象类或接口
- 构造私有化
- 没有构造方法
可以把常用的一些成员封装进去,方便使用。在测试类不需要写这些重复的代码,可以直接使用util类.getSeesion方法。我们看一下代码: 这些定义成了static,方便调用,static成员不属于对象,属于类。
然后在测试类中调用util的方法,可以实现增删改查比普通的方便,快捷,效率高。
3.普通实现增删改查
使用我们刚学的MyBatis实现增删改查,
1.写实体类,写接口,写对应接口的小配置,然后使用mappers标签关联大配置。然后写项目的pom.xml文件的build,可以识别到小配置。 如果截图看不懂,可以去看我上一篇博客初始MyBatis,哪里讲这个很细。
大配置中:
pom.xml中:
小配置中:
测试类中:
session有个getMapper()方法,可以实现代理,比实例化的级别要高。
MyBatis别名与util类技能了解的更多相关文章
- Mybatis自动生成实体类和实体映射工具
Mybatis Mysql生成实体类 用到的Lib包: mybatis-generator-core-1.3.2.jarmysql-connector-java-5.1.30.jar 1. 创建一个文 ...
- mybatis自定义枚举转换类
转载自:http://my.oschina.net/SEyanlei/blog/188919 mybatis提供了EnumTypeHandler和EnumOrdinalTypeHandler完成枚举类 ...
- springboot之mybatis别名的设置
mybatis别名设置 在具体的mapper.xml文件中,定义很多的statement,statement需要parameterType指定输入参数的类型.需要resultType指定输出结果的映射 ...
- Mybatis 别名机制,自动扫描 数据的增删改
mybatis别名机制: 在mybatis.xml文件中的<configuration></configuration>标签中间加入属性<typeAliases>& ...
- 【记录】mybatis中获取常量类中数据
部分转载,已注明来源: 1.mybatis中获取常量类中数据 <update id="refuseDebt"> UPDATE dt_debt a SET ...
- property_自己编写一个读取Property文件的Util类
读取property文件的Util类: 所需jar包: 编写PropertiesUtil类: package com.west.util.property; import java.io.InputS ...
- MyBatis 别名标签 & sql的复用
1.MyBatis 别名标签 如果在映射文件中,大量使用类名比较长,可以在sqlMapConfig.xml声明别名, 在映射文件中可以使用别名缩短配置,注意此配置要放在最前面 sqlMapConfig ...
- 利用org.mybatis.generator生成实体类
springboot+maven+mybatis+mysql 利用org.mybatis.generator生成实体类 1.添加pom依赖: 2.编写generatorConfig.xml文件 ( ...
- MyBatis探究-----为实体类Bean取别名,配置typeAliases
1.单个实体类设置别名 1.1 不使用alias <typeAliases> <!-- typeAlias:为某个java类型起别名 ; type:指定要起别名的类型全类名; 默认别 ...
随机推荐
- nginx集成环境下载
https://visual-nmp.en.softonic.com/download
- 对Python选修课的期望
作为一个之前完全没有接触过任何计算机语言的人我对于Python完完全全是个小白,那么我就以一个菜鸟的角度来谈谈我对这门选修课的期望吧. ...
- 初识“FireBug”
今天学习前端知识又一次提到“FireBug”这款插件,现在,把今天学到的一点东西简单记录下来. 什么是FireBug FireBug是一个用于网站前端开发的工具,它是FireFox浏览器的一个扩展插件 ...
- 【NIFI】 Apache NiFI 集群搭建
NiFI 集群介绍 NiFi集群架构 NiFi采用Zero-Master Clustering范例.集群中的每个节点对数据执行相同的任务,但每个节点都在不同的数据集上运行.其中一个节点自动选择(通过A ...
- CENTOS7上安装MYSQL5.7.21流程
1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql 2下 ...
- strchr和strstr 函数
函数原型:extern char *strchr(char *str,char character) 参数说明:str为一个字符串的指针,character为一个待查找字符. 所在库名: ...
- Codeforces 863 简要题解
文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 简要题解?因为最后一题太毒不想写了所以其实是部分题解... A题 传送门 题意简述:给你一个数,问你能不能通过加前导000使其成为一个回文数 ...
- leetcode - valid number 正则表达式解法
import java.util.regex.Pattern; public class Solution { Pattern p = Pattern.compile("^[\\+\\-]? ...
- CSS3背景相关新增属性
background-clip border-box:充满边框和内边距,内容. padding-box:充满内边距,内容 content-box:只充满内容 background-origin bor ...
- api controller 接口接收json字符串参数
{"data":{"alarmRepeatTimes":2,"currentMode":1,"moduleResetTimeout ...