01 mybatis框架整体概况(2018.7.10)-

F:\廖雪峰 JavaEE 企业级分布式高级架构师课程\廖雪峰JavaEE一期\第一课(2018.7.10)

maven用的是3.39的版本

F:\廖雪峰 JavaEE 企业级分布式高级架构师课程\廖雪峰JavaEE一期\第一课(2018.7.10)\笔记\01_MyBatis\02_工具\maven工具包

mysql用的是5.5的版本

mysql的客户端用的是Mysql_Front

ecplise和Maven全都是绿色版本

基于的jdk的版本是1.8的版本

github的地址:

https://github.com/mybatis/mybatis-3

MyBatis官方文档

http://www.mybatis.org/mybatis-3/

下面可以选择中文

基于jdbc的封装

jdbc链接数据库的回顾

首先是加载驱动类

Class.formName();

本地的数据库:我们要使用MyBatis插入到这个开课吧数据库内的dept部门表内的数据,一共就有三个字段。

github首页中下载最新的版本的Mybatis

看官方文档的介绍,要使用就要先引入jar包文件

使用Maven去管理,我们来按照他的要求去做一下

Maven就是jar包的管理工具,在我们的工具里面有Maven工具包。我们这里的maven是一个免安装的版本,把maven的压缩包解压出来,然后和我们的Ecplise工具进行关联。

Maven的关联

选择自己电脑上的maven的路径:D:\java\maven

如果是断网了,可以直接复制这个文件夹替换到我们机器的:

F:\廖雪峰 JavaEE 企业级分布式高级架构师课程\廖雪峰JavaEE一期\第一课(2018.7.10)\笔记\01_MyBatis\03_资料\.m2

.m2的文件夹

鼠标右键新建maven的工程

设置包名和项目名称:

Group Id:就是包名

Artifact Id:就是工程的名称了

如果写测试的话可以在test/java下写

每一个Maven工程都会有一个pom.xml

把哦我们要添加的jar包,在pom.xml内做一个注册就可以了

32分钟

写上依赖的标签:

dependencies。然后把我们遗爱的jar包放到这个标签里面

复制官方文档的配置标签代码:

http://www.mybatis.org/mybatis-3/zh/getting-started.html#

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>

我们只需要修改version的标签写上版本号3.4.6

当我们ctrl+s保存这个文件以后,Maven就会自动从网上下载对应的包

光有Mybatis框架还不能操作数据库,还需要使用数据库的驱动包,这里我们还需要第二个jar包的依赖,我们还需要添加MySql的驱动包

可以去Maven的仓库去下载。但是由于讲课的老师的电脑网速的问题,所以我们直接用下载好的

F:\廖雪峰 JavaEE 企业级分布式高级架构师课程\廖雪峰JavaEE一期\第一课(2018.7.10)\笔记\01_MyBatis\03_资料\约束文件

F:\廖雪峰 JavaEE 企业级分布式高级架构师课程\廖雪峰JavaEE一期\第一课(2018.7.10)\笔记\01_MyBatis\03_资料\mybatis依赖配置文件

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.</version>
</dependency>

有了这些驱动包之后

看文档我们需要新建一个SqlSessionFactory

这里有一个读取流读取的是一个文件:

读取的文件是:org/mybatis/example/mybatis-config.xml

mybatis-config.xml是Mybit的核心配置文档。在这里文档里面 它会告诉Mybit框架,要访问哪些数据库、事务管理、sql映射文件在项目中的位置

视频里面又不详细讲了,说是要快速的过一下这部分内容:38分。

视频中导入了一个项目

导入到Ecplisse中

Mybaits_01_Simple

在resource下面找到SQL映射文件:

这里将会对部门表进行插入操作。

这里要做加载处理

先新建一个实体对象,然后给实体对象的属性赋值

然后鼠标右键,执行这个java类。console内没有任何的输出

我们到数据库内看一下插入的数据

Mybabits是对jdbc的封装,但是没有看到任何一点与jdbc有相像的地方:

SqlSessionFactor和SqlSession都是什么东西?我们通过源码跟踪的方式给大家讲解

19行接了断点。然后dubug as 去执行 java application

44分28秒。断点调试

01 mybatis框架整体概况(2018.7.10)-的更多相关文章

  1. 01 Mybatis框架添加英雄步骤

    客户端发出请求的几种方式 通过浏览器的地址栏中发出请求 通过html页面中的超链接发出请求 通过html页面中的form表单发出请求 通过前端框架发出请求 工程中使用数据库需要做的几件事: 在pom. ...

  2. Mybatis之整体描述

    Mybatis在我看来最大的用处就是封装了jdbc,设置参数操作和获取解析结果集.同时控制了数据库链接等操作,大部分采用了反射来映射javabean对象来进行数据库操作. 1.接下来先整体介绍下主要的 ...

  3. Mybatis原理分析之二:框架整体设计

    1.引言 本文主要讲解Mybatis的整体程序设计,理清楚框架的主要脉络.后面文章我们再详细讲解各个组件. 2.整体设计 2.1 总体流程 (1)加载配置并初始化       触发条件:加载配置文件 ...

  4. 【MyBatis学习01】宏观上把握MyBatis框架

    今天开始学习mybatis框架,博客主要记录学习过程中的一些总结,如有错误之处,欢迎留言指正~先用mybatis的鸟鸟来镇个楼,咳咳~~ mybatis框架是一个持久层框架,是Apache下的顶级项目 ...

  5. SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件

    一.Mybatis框架 1.mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获 ...

  6. MyBatis 框架 基础应用

    1.ORM的概念和优势 概念: 对象关系映射(Object Relational Mapping,简称ORM)是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据 ...

  7. 搭建一个简单的mybatis框架

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  8. SSM框架-----------SpringMVC+Spring+Mybatis框架整合详细教程

    1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One  ...

  9. Spring3.0 与 MyBatis框架 整合小实例

    本文将在Eclipse开发环境下,采用Spring MVC + Spring + MyBatis + Maven + Log4J 框架搭建一个Java web 项目. 1. 环境准备: 1.1 创建数 ...

随机推荐

  1. Nginx简单了解

    1.静态HTTP服务器 首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML.图片)通过HTTP协议展现给客户端. 配置: server { listen80; # 端口号 lo ...

  2. adb的经常使用命令(android debud bridge)

    android调试桥: adb命令使用须要在系统环境遍历中path中追加adb.exe的完整路径D:\IDE\adt-bundle-windows-x86-20130729\sdk\platform- ...

  3. Discuz系列1:安装

    http://www.discuz.net/forum.php     官网,点击“Discuz! 程序发布” 代码库: https://git.oschina.net/ComsenzDiscuz/D ...

  4. 命令行查看memcached的运行状态(转载)

    很多时候需要监控服务器上的Memcached运行情况,比如缓存的查询次数,命中率之类的.但找到的那个memcached-tool是linux下用perl写的,我也没试过windows能不能用.后来发现 ...

  5. iOS开发- OpenGL ES屏幕截图

    之前写过一个常规的屏幕截图:http://blog.csdn.net/hitwhylz/article/details/17189351 可是发现这个办法对于OpenGL 无用.  获取到的数据为空. ...

  6. HBase GC日志

    HBase依靠ZooKeeper来感知集群成员及其存活性.假设一个server暂停了非常长时间,它将无法给ZooKeeper quorum发送心跳信息,其他server会觉得这台server已死亡.这 ...

  7. MySql in子句 效率低下优化(亲测有效,从200秒变1秒)

    MySql in子句 效率低下优化 背景: 更新一张表中的某些记录值,更新条件来自另一张含有200多万记录的表,效率极其低下,耗时高达几分钟. update clear_res set candele ...

  8. ArcGIS10和ArcGIS10.1关于AO Licence初始化的问题

    两个版本主要是esriLicenseProductCode.esriLicenseProductCodeArcInfo和esriLicenseProductCode.esriLicenseProduc ...

  9. php递归循环地区

    $mylist = array( array( 'area_parent_id'=>0,'id'=>1,'area_name' => '河北',), array( 'area_par ...

  10. [haoi2015]T1

    题意:给定你一颗树,要求你在这棵树中确定K个黑点和N-K个白点,使黑点间与白点间两两距离之和最大,输出最大值.n<=2000 对于这道题,我想了好几个思路,包括点分治,贪心,动规,网络流等等,实 ...