【框架】114:mybatis初体验
今天是刘小爱自学Java的第114天。
感谢你的观看,谢谢你。
从今天开始进入myBatis框架的学习。
既然要学它,那肯定要搞清楚它是干嘛的?
它是由Apache开源的一个数据持久层框架。
提到数据持久层,我就想到了dao层,也就很自然而然地想到了数据库。
它可以对数据库中的数据进行增删改查,并且比我们之前在用的jdbcTemplate更加。
简单说下今天的学习内容:
- jdbc环境搭建,关于maven父工程的引入。
- jdbc核心步骤的回顾。
- mybatis介绍以及入门程序编写。
一、jdbc环境的搭建
1maven父工程
我们学Java的都知道继承的概念,父类中的属性和方法,子类都可以直接使用。
其实在maven工程中也有父工程和子工程的概念,我们创建一个父工程:
和创建普通maven工程一样的方式,需要注意的地方在于:
- 打包方式设为pom。
- src文件可以删除,因为我们的代码都是写在对应的子工程中的,父工程不需要写代码。
那既然不写代码,父工程用来干嘛的呢?
2依赖管理
关于依赖,学maven的时候专门就讲过,说白了就是jar包,但比jar包更好管理。
每个业务模块都会有自己需要的jar包。
既然如此,那何不专门把依赖存放在父工程?那个子工程需要哪些依赖就取哪些。
①版本管理
每一个jar包都会有各种各样的版本,如果版本不统一就会出现冲突问题。
而父工程就可以解决这个问题。
在父工程中就规定好jar包的版本号,所有的子工程都是用父工程中指定的版本。
如果版本号需要更换,只需要修改父工程中的即可,管理起来特别地方便。
②依赖管理
子工程需要哪些依赖,直接从父工程中取。
当然一般都会在父工程中放很多依赖,我这边截图放不下,就不一一说明了。
3创建子工程
其创建步骤如下图:
直接在父工程中new一个子工程。
module,模块的意思,父工程下的一个模块,也就是它的子工程。
在子工程pom文件中引入对应的依赖即可,其中关于版本不用规定,由父工程决定。
最后做一个小结:
父工程的典型作用在于jar包版本的统一管理,此外还有项目的聚合(这个后续会学)。
二、jdbc的回顾
既然是对数据库进行操作,肯定先要有对应的数据来做测试:
导入对应的sql文件创建数据表。
当然在数据量不多的情况下,也可以直接在Navicat上创建sql语句并执行。
sql语句我这边就不说明了,测试数据网上找,自己写都可以。
有了数据表之后,我们使用Java代码对数据库进行查询操作。
其核心六步骤,因为使用了预编译,所以多了一个设置参数的步骤。
这些步骤不说滚瓜烂熟,基本上也是非常熟悉了,写了很多遍:
①注册驱动②获取连接
数据库四大金刚,根据这四个参数可以定位我们要操作的数据库:
数据库在哪台电脑上?数据库叫什么名字?
③预编译④设置参数
关于预编译我以前专门也学习说明过,为了防止sql注入,使用预编译。
参数也就是指定sql语句中“?”的值。
⑤执行语句
查询语句,使用executeQuery()方法。
⑥处理结果⑦释放资源
根据数据表中对应的字段名,取出对应的值。
表中字段有很多,这边只取两个作为例子。
好,代码编写完毕,但是这个流程太复杂繁琐了,每次都要这样写的话简直要命。
所以为了简化代码的编写,我们后面学习了jdbcTemplate,使用起来方便很多。
而mybatis要更加地强大。
三、mybatis的引入
1核心配置文件
在resource中创建一个mybatis的XML核心配置文件,名称自定义。
该配置文件代码的编写,我们需要参考官方文档或者网络搜寻复制即可。
但是我们要修改里面的参数:也就是数据库四大金刚,要设置成我们自己的。
其中的映射文件需要再次创建一个配置文件,并且映射文件一定要在核心文件配置说明。
就是每创建一个新的映射文件,都要记得在该核心配置文件中说明。
2映射文件配置
该配置文件等于是把sql语句独立出去了,我们以前要在Java代码中编写一个Java字符串。
namespace+id
这个就是作为标识,在Java代码中需要使用其定位sql语句的位置。
resultType
Java中的实体类和数据库中的表存在着对应关系,比如User实体类和tab_user表。
其中要写User类的全限定名。
3Java代码编写
①获取核心配置文件
也就是1中的mybatis-config.xml文件。
这里使用mybatis提供的Resources工具类调用getResourceAsStream()即可。
获取的结果就是一个IO流。
②获取sqlSession
先构建对应的工厂,再调用openSession()方法开启session。
③执行查询操作
因为我们在映射文件中对应的是查询,那这里使用selectOne方法,参数为:
- 映射文件中对应的id。
- sql语句中需要的参数。
④关流不要忘记了
以上就是对于mybatis的使用,点击运行即可对数据库进行查询。
当然对各个步骤只是做了一个初步了解,具体有什么作用还并不是很清楚。
明天我们继续深入地学习mybatis。
最后
谢谢你的观看。
如果可以的话,麻烦帮忙点个赞,谢谢你。