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关闭的方法。

 

在什么情况下类不可以实例化:

  1. 他是抽象类或接口
  2. 构造私有化
  3. 没有构造方法

可以把常用的一些成员封装进去,方便使用。在测试类不需要写这些重复的代码,可以直接使用util类.getSeesion方法。我们看一下代码:    这些定义成了static,方便调用,static成员不属于对象,属于类。

然后在测试类中调用util的方法,可以实现增删改查比普通的方便,快捷,效率高。

3.普通实现增删改查

使用我们刚学的MyBatis实现增删改查,

1.写实体类,写接口,写对应接口的小配置,然后使用mappers标签关联大配置。然后写项目的pom.xml文件的build,可以识别到小配置。    如果截图看不懂,可以去看我上一篇博客初始MyBatis,哪里讲这个很细。

 

大配置中:

pom.xml中:

小配置中:

测试类中:

 

 session有个getMapper()方法,可以实现代理,比实例化的级别要高。

MyBatis别名与util类技能了解的更多相关文章

  1. Mybatis自动生成实体类和实体映射工具

    Mybatis Mysql生成实体类 用到的Lib包: mybatis-generator-core-1.3.2.jarmysql-connector-java-5.1.30.jar 1. 创建一个文 ...

  2. mybatis自定义枚举转换类

    转载自:http://my.oschina.net/SEyanlei/blog/188919 mybatis提供了EnumTypeHandler和EnumOrdinalTypeHandler完成枚举类 ...

  3. springboot之mybatis别名的设置

    mybatis别名设置 在具体的mapper.xml文件中,定义很多的statement,statement需要parameterType指定输入参数的类型.需要resultType指定输出结果的映射 ...

  4. Mybatis 别名机制,自动扫描 数据的增删改

    mybatis别名机制: 在mybatis.xml文件中的<configuration></configuration>标签中间加入属性<typeAliases>& ...

  5. 【记录】mybatis中获取常量类中数据

    部分转载,已注明来源: 1.mybatis中获取常量类中数据 <update id="refuseDebt"> UPDATE dt_debt a SET         ...

  6. property_自己编写一个读取Property文件的Util类

    读取property文件的Util类: 所需jar包: 编写PropertiesUtil类: package com.west.util.property; import java.io.InputS ...

  7. MyBatis 别名标签 & sql的复用

    1.MyBatis 别名标签 如果在映射文件中,大量使用类名比较长,可以在sqlMapConfig.xml声明别名, 在映射文件中可以使用别名缩短配置,注意此配置要放在最前面 sqlMapConfig ...

  8. 利用org.mybatis.generator生成实体类

    springboot+maven+mybatis+mysql 利用org.mybatis.generator生成实体类 1.添加pom依赖:   2.编写generatorConfig.xml文件 ( ...

  9. MyBatis探究-----为实体类Bean取别名,配置typeAliases

    1.单个实体类设置别名 1.1 不使用alias <typeAliases> <!-- typeAlias:为某个java类型起别名 ; type:指定要起别名的类型全类名; 默认别 ...

随机推荐

  1. 跨域的处理方式 JSONP和CORS和反向代理

    什么是跨域? 首先了解同源策略,三个相同,协议,域名端口号相同就是同源,那么三者有任意不同就会造成跨域.跨域不常见,跨域基本上就是访问别人的资源. 如何解决跨域问题? 常见的有三种 一:jsonp处理 ...

  2. 一张图说明TCP和UCP协议

    图片来自网络. 本来不想打字了,但是博客园有字数限制... 第一次 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认:SYN:同步序列编号( ...

  3. 用JDOM和DOM4J解析节点名节点值

    1.用JDOM解析节点名和节点值 1.创建一个SAXBuilder对象 2.创建一个输入流, 将xml文件加载到文件中 3.   通过saxBuilder的方法,将输入流加载到saxBuilder 4 ...

  4. Numpy 线性代数

    Numpy 提供了线性代数库 linalg , 该库包含了线性代数所需的所有功能,可以看卡下面的说明: 函数 描述 dot 两个数组的点积, 即元素对应相乘 vdot 两个向量的点积 inner 两个 ...

  5. 第二阶段第三次spring会议

    昨天我对便签加上了清空回收站功能 private void 清空回收站ToolStripMenuItem_Click(object sender, EventArgs e) { DelectText( ...

  6. java35

    1.变量的访问:就近原则 2.this.name 本类的name 3.枚举:一个事物的固定状态 修饰符 enum 枚举名称{ } 4.枚举相当于一个特殊的类,默认继承了Enum 5.枚举不能直接创建对 ...

  7. Scrum冲刺阶段7

    成员今日完成的任务 人员 任务 何承华 美化会员查看安排界面 陈宇 后端设计 丁培辉 美化会员查看界面 温志铭 会员查看界面设计 杨宇潇 会员查看界面设计 张主强 服务器构建 成员遇到的问题 人员 问 ...

  8. Js2WordCloud 词云用法

    1.引入 npm 安装: npm install js2wordcloud --save 通过script引入: <script src="dist/js2wordcloud.min. ...

  9. 2019.03.09 codeforces620E. New Year Tree(线段树+状态压缩)

    传送门 题意:给一棵带颜色的树,可以给子树染色或者问子树里有几种不同的颜色,颜色值不超过606060. 思路:颜色值很小,因此状压一个区间里的颜色用线段树取并集即可. 代码: #include< ...

  10. CentOS 7.6下解决登录MySQL时,ERROR 1045 (28000): Access denied for user root@localhost (using password: YES

    https://blog.csdn.net/sinat_35406909/article/details/79763782