0
点赞
收藏
分享

微信扫一扫

第一个mybatis程序

水沐由之 2022-04-24 阅读 206
后端

文章目录

步骤

搭建环境->导入依赖->编写代码->测试

搭建项目

groupId: 组织名称artifactId:项目名称version: 版本
GroupId和ArtifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
GroupId(俗称:包结构)、ArtifactId(俗称:项目名)。GroupID是项目组织唯一的标识符,一般包含多段,第一段为域,第二段为公司名称,实际对应项目的包名称;

src目录

src是保存程序源码的,用于放置.java文件 这是你自己编写的。创建一个maven项目父工程,删除src和resources模块。

导入依赖

1.首先根据你自己的需求,编写好你需要的依赖,依赖是有格式的 首先最外层包裹的是dependencies , 然后里边有好多种不同的dependency , 中间包裹的是依赖的名称 , 版本 以及id 正确填写即可
2.不能每次都正确导入pom.xml中写的依赖项,而是导入之前pom.xml的依赖(读了缓存中的pom.xml)。进行刷新,只要你的配置文件正确配置的话,依赖就可以导进去了。
pom.xml 的 dependencies 列表列出了我们的项目需要构建的所有外部依赖项。
导入依赖的流程是先扫描你本地计算机的仓库,也就是你之前的一些项目中导入过的依赖会在本地计算机仓库。

MySQL驱动mysql-connector-Java

我们如果要在Java系统中去访问一个MySQL数据库,必须得在系统的依赖中加入一个MySQL驱动,有了这个MySQL驱动才能跟MySQL数据库建立连接,然后执行各种操作。

创建一个模块

module

module就是模块,而pom.xml中的modules也正是这个意思,用来管理同个项目中的各个模块

核心配置文件

1.mybatis-config.xml XML核心配置文件包含了对Mybatis的核心配置和全局配置。包括: settings标签 :全局配置标签
2.环境配置(environments) 数据库环境的配置,支持多环境配置
3.(属性)properties
4.类型别名(typeAliases) 为了降低全限定名的冗余,mybatis提供了设置别名的功能
5.mapper标签,加载mapper映射文件,每一个Mapper.xml都需要在MyBatis核心配置文件中注册
6.核心配置文件中的标签必须按照固定的顺序 properties-》settings-》typeAliases
7.configuration元素是整个xml配置文件的根节点,相当于是MyBatis的总管,MyBatis所有的配置信息都会存放在这里面。
8.com.mysql.jdbc.driver是数据库厂商实现的JDBC一个套接口里的一个类,被称为“驱动类”
9.我们知道Class.forName() 方法要求JVM查找并加载指定的类到内存中,此时将"com.mysql.jdbc.Driver" 当做参数传入,就是告诉JVM,去"com.mysql.jdbc"这个路径加载驱动类.
10.& amp; 是html中的或者url地址栏中的转义字符,就是代表&的意思
11. jdbc:mysql://localhost:3306这句里面分如下解析: jdbc:mysql:// 是指JDBC连接方式; localhost: 是指你的本机地址; 3306 :SQL数据库的端口号;
12. useSSL=true&characterEncoding=UTF-8&useUnicode=true&serverTimezone=GMT分别为使用安全的连接 支持中文编码、设置字符集编码为utf8、设置时区
13.

mybatis工具类

进行mybatis工具类的封装,把共同的生成sqlSession的代码进行提取封装成工具类,需要sqlSession直接去工具类拿就可以了。
(工具类属于复用) 创建工具类(一般在src下创建util包,在util包下创建工具类)。 例如:MybatisUtils为工具类:

静态代码块

JVM加载类时会执行这些静态代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们 每个静态代码块只会被执行一次.在程序编译的时候就会自动执行(记住是编译的时候就执行,不是运行阶段),不需要调用。

mapper namespace

在MyBatis中,Mapper中的namespace用于绑定Dao/Mapper接口的,即面向接口编程,它的功能和Dao接口的实现类Impl相当,但是他不用写接口实现类

测试

@Test

Test的使用 是该方法可以不用main方法调用就可以测试出运行结果,是一种测试方法

sqlsession.getMapper

获取mapper对象,调用mapper接口的方法

sqlsession.close

没有关闭SqlSession,造成内存泄露。内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。

maven资源过滤

如果xml等配置文件不在resource文件夹下,则可能不能导出其配置文件,则需要进行资源过滤
maven中默认只能读取resources文件夹下的资源,如果要读取其他路径下的资源文件,那么就需要用到maven-resources-plugin这一插件
Resources插件负责处理项目资源文件并拷贝到输出目录。
默认的主资源⽂件⽬录是src/main/resources,很多⽤⼾会需要添加额外的资源⽂件⽬录,这个时候就可以通过配置maven-resources-plugin来实现

target目录

target是idea默认的编译路径,target是用来存放项目构建后的文件和目录、jar包、war包、编译的class文件,所有都是Maven构建时生成的。

class文件

.class文件是.java文件编译后生成的字节码文件,我们使用一般的文本编辑工具打开的话,里面的内容是乱码。
将java代码编译后会产生class文件,并且一个clas文件会对应唯一一个java类或者接口。
在Java 中,JVM可以理解的代码就叫做字节码(即扩展名为.class的文件),它不面向任何特定的处理器,只面向虚拟机。

约定优于配置

约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。
在程序中,能够简化代码的实现,使代码高可用的约定就是一种好的约定。
你不能随便配置包名和类名,那些是人家约定好的。一般来说,采用默认配置(约定好的),存在特殊需求的时候,可以自定义配置。

maven资源导出

maven有个特点就是约定大于配置,所以默认的maven项目在构建编译时不会把我们其他目录下的配置文件导出到target目录中,从而导致配置文件无法导出或者生效的问题.
在核心配置文件pom.xml,在build中配置resources,来防止我们资源导出失败

pom.xml中的resources标签

pom.xml中的build标签的resources标签:resources标签是指定读取的配置文件或文件夹中的文件
在工程进行编译打包的时候只会将工程的src/main/resources目录下的includes标签中的资源文件打包进去,并且会进行预编译

举报

相关推荐

0 条评论