深入浅出 最新版 MyBatis-3.5.6_ 2. Hello MyBatis

从这一篇开始,我们就正式踏入了 MyBatis 的学习,废话不多说,开始干

一、MyBatis 下载 & 环境准备

1. 下载

我们先来用 MyBatis 写一个简单的例子,但是,我们既然要用这个 MyBatis,我们就需要去下载一下 MyBatis 所要用到的 Jar 包,这里呢,MyBatis 官网都已经给我们整理好了,打开官网,点击入门

然后点击这个,进入到 MyBatis 的 GitHub 主页

然后我们就直接使用这个最新版 3.5.6,选择这个 zip 文件,点击下载~

下载好之后解压到桌面,我们先来看看里面有啥

很简洁,就这点东西,首先是 lib,这个里面放着你可能用到的一些 jar 包,当然,我们不用。

接着外面有一个 LICENSE,这个是许可证,我们也不用,NOTICE 是告示,我们也不用。

有用的就只有 mybatis-版本 这个 jar 包,还有下面的文档,当然啦,这个文档其实就是官网的教学文档,可以看可以不看,我推荐是看一下

2. 环境准备

然后我们打开我们的 eclipse,创建一个 Java Project 的工程,名字就叫 mybatis_test

就这样就可以了

接着我们开始创建文件夹(就是 new 一个 Folder),创建一个 mybatis 文件夹,创建一个 jdbc 文件夹

创建好之后,将 mybatis-版本的 jar 放在 mybatis 中,然后再去弄一个 mysql-connection-java 的连接数据库要用的 jdbc 包,这个放在 jdbc 中,并且都添加到构建路径中

添加好之后,我们还得弄点东西

打开官网,找到入门,往下翻,可以看到这么一个东西

我们按照官网指示,在 src 目录下创建一个文件:mybatis-config.xml,并且在里面添加如下内容

当然,这里面的这些配置我们后面再说,我先告诉大家怎么修改,直接上图!

首先,我们先添加一个 typeAliases,这个是类型别名,后面我们来说具体作用,固定就是将类名当做别名,type 是类所在的位置,而 alias 就是别名的名字。

然后就是配置我们的 JDBC 的连接,这个我们学过 JDBC 大家应该不陌生了,这里需要注意的是,XML 不识别 & ,需要将 & 修改成 & 一定要记得后面还有一个分号啊,不然会后面报错。

最后就是修改 mappers,这个是 xml 文件映射,最好就是一个实体类对应一个这个映射。

这些都弄好之后,我们打开我们的数据库,创建一个新的数据库,这里我们需要创建一个 mybatis 的数据库,然后创建一个表,我们叫 t_student,并且添加几个字段,SQL 如下

CREATE TABLE `t_student`  (
  `id` int(0) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `age` int(0) NULL DEFAULT NULL COMMENT '年龄',
  `schoolId` int(0) NULL DEFAULT NULL COMMENT '所在学校id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

这里我们主键是递增的,然后这个学校 id 我们后面会用到,也先添加上。

二、Hello MyBatis 实现

前面我们准备好之后,我们现在开始写实现

首先先把 Student 实体创建好。

这里要注意,我们这两个需要做对应,不然到时候找不到会报错,接着我们把属性、构造方法、get/set、toString 都写上

写完之后,我们再回头看官网的文档

我们还需要创建一个 SqlSessionFactory,这个 SqlSessionFactory 是一个工厂,主要用来提供 SqlSession,而 SqlSession 是用来操作数据库的,我们可以按照官网所说,从 XML 中构建一下 SqlSessionFactory

我们来创建一个 Util 包

这里我们需要创建一个单例模式,用来提供 SqlSession,废话不多说,直接上代码

有了 SqlSession 之后,我们再来去创建映射器,这里是一个 Java 接口,名字叫 StudentMapper

这里注意一下,这里的映射器和我们配置文件里的映射器是不一样的,不要搞混了

一个是 xml,这里我们还没有创建呢,我们弄得是 StudentMapper.java !

然后我们写一个添加的接口

写好之后,我们在这个目录下面再创建一个 xml 的文件,里面的内容,我们直接复制官网上的即可,复制 探究已映射的 SQL 语句,这个地方的

接着我们修改一下 xml 里面的内容

这里的这个 mapper 里 namespace 指的就是我们的映射器接口的地址

然后就是这个 insert 标签,id 就是我们刚刚定义的接口方法名称,parameterType 就是传递的参数类型,这里我们直接写 Student,因为我们前面设置过别名了,如果没有别名,我们这里需要写成完整的包路径,也就是这样的

当然,我们既然配置了,我们就直接简写成 Student 即可。

然后就是 SQL 了,一条很简单的 SQL 语句,这里的参数,我们需要用 #{} 括起来,固定写法,而里面的值,就是指的实体类中的属性,不是数据库的,这里需要记住一下!!!

而除去 #{} 之外,其实还有一个,那就是 ${},他俩是有区别的,这里我们后面说,先了解一下

写好之后,我们再去创建一个 StudentTest 类,用来测试我们刚刚写的代码

第一步,我们先获取我们的 SqlSession

拿到 SqlSession 之后,我们可以通过它的一个方法,getMapper,将我们刚刚创建的 StudentMapper 接口拿到

接着我们直接用 StudentMapper 调用 add 方法,虽然是一个接口,但是,我们可以直接去调用,这个就是 MyBatis 的强大。

这里需要注意的是,MyBatis 也是支持事务的,所以,我们需要在 insert、update、delete 之后,进行事务的提交,不然这个数据不会添加到数据库中。

写好后,我们运行一下~

再来看一下数据库

也是OK的。

到这里为止,我们的 Hello MyBatis 就完成了,东西有点多,大家好好消化一下。

大家可以自己好好查查看,有不懂的可以联系我 QQ:2100363119

欢迎大家访问我的网站:https://www.lemon1234.com

可以的话关注一下我的公众号,就在我网站,每天都有更新~~~,无限资源畅游 Java,感谢~

最近小程序也开放了,大家可以扫码进行玩玩看

猜你喜欢

转载自blog.csdn.net/weixin_45908370/article/details/113900813
今日推荐