SpringBoot使用Mybatis&Mybatis-plus文件映射配置

SpringBoot使用Mybatis&Mybatis-plus文件映射配置,第1张

简介 :Springboot使用Mybatis&Mybatis-plus 两者文件映射配置略有不同,之前我用的是Mybatis,但公司用Mybatis-plus;自己新建了一个Springboot项目,代码运行时一直报错not found not found,明明配置了mybatis相关信息的扫描路径,激袜毁但是就是好宏not found;检查修改了很多地方但都是无用功,最终发现是Plus惹的祸。

1、使用Mybatis

yml文件配置的mapper映射及相关信息格式:

2、使用Mybatis-Plus

yml文件配置的mapper映射及相关明备信息格式:

3、Others

加上 @Slf4j 注解后,仍然不能用log直接支配日志,因为没有安装Lombok插件。

加上 @Data 注解后,仍然不能使用getter/setter,因为没有安装Lombok插件。

在类上加注解@AllArgsConstructor 注解可以代替所有@Autowired 注解,就不用在一个类中引入多个@Autowired。

下载前端代码后需要在控制台运行:npm install,下载前端工程后在控制台npm install 相当于后端的下载jar包,目录级别还不能乱放,按照git工程代码格式,不能新建目录文件,否则资源下不来。

中间步骤自行设置

MySQL驱动版本根据自己安装的MySQL选择

我把AppTest改成了MybatisTest,不该也无妨;

其中Student类暂时只设置四个字段:

mapper接口暂时为空

在resources目录下新建File命名为db.peoperties,配置如下内容:

提示:以上配置适用于MySQL8.X版本,5.X版本按照如下配置:

1、transactionManager:事告伏务管理器;

type 事务管理类型:

JDBC(JdbcTransactionFactory);

MANAGED(ManagedTransactionFactory)

自定义事务管理器:实现TransactionFactory接口.type指定为全类名

2、dataSource:数据源

type :数据源类型

UNPOOLED(UnpooledDataSourceFactory);POOLED(PooledDataSourceFactory);

JNDI(JndiDataSourceFactory)

自定义数据源:实袜悉携现DataSourceFactory接口,type是全类名

<mapper>:注册一个sql映射文件

1、注册映射文件

resource:引用类路径下的sql映射文件

mybatis/StudentMapperpper.xml

url:引用网路路径或者磁盘路径下的sql映射文件

file:///var/mappers/AuthorMapper.xml

2、注册接口

class:引用(注册)接口,

① 有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下;

② 没有sql映射文件,所有的sql都是利用注解写在接口上

推荐:

比较重要的,复杂的Dao接口我们来写sql映射文件

不重要,简单的Dao接口为了开发快速可以使用注解;

批量注册

需要在资源路径下(resources)建立和dao一样的文件目录来存放想xml映射文件,如:com.example.StudentMapperpper.xml

StudentMapper

在resources的mybatis目录下新建文件夹mapper,新建xml文件StudentMapper.xml

namespace :名称空间指定为接口的全类名

id :唯陆袜一标识

resultType :返回值类型

#{id} :从传递过来的参数中取出id值

resources目录(MajorMapper.xml暂时不用创建)如下:

MyBatis 的工作原理:读取 MyBatis 配置文件、加载映射文件、构造会话工厂、创建会话对象、Executor 执行器、输入参数映射、输出结果映射。

mybatis原理具体介绍如下:

1、读取 MyBatis 配置文件:

mybatis-config.xml 为 MyBatis 的全局配置文件,配置了 MyBatis 的运行环境等信息,例如数据库连接信息。

2、加载映射文件:

映射文件即 SQL 映射文件,该文件消码中配置了 *** 作数据库的 SQL 语句,需要在 MyBatis 配置文件 mybatis-config.xml 中加载。mybatis-config.xml 文件可以加载多个映射文件,每个文件对应数据库中的一张表。

3、构造会话工厂:

通过 MyBatis 的环境等配置信息构建会话工厂 SqlSessionFactory。

4、创建会话对象:

由会话工厂创建 SqlSession 对象,该对象中包含了执行 SQL 语句的所有方法。

5、Executor 执行器:

MyBatis 底层定义了一个 Executor 接口来 *** 作数据库,它将根据 SqlSession 传递的参数动态地生成需要执行的 SQL 语句,同时负责查询缓存的维护。

6、MappedStatement 对象:

在 Executor 接口的执行方法中有一个 MappedStatement 类型的参数,该参数是对映射信息的封装,用于存储要映射的 SQL 语句的 id、参数等信息。

7、输入参数映射:

输入参数类型可以是 Map、List 等集合类型,也可以是基本数据类型和 POJO 类型。输入参数映射过程类似于 JDBC 对 preparedStatement 对象设置参数的过程。

8、输出结果映射:

输出结果类型可以是 Map、 List 等集谨举合类型,也可以是基本数据类型和 POJO 类型。输出结果映射过程类似于 JDBC 对结果集的解拿晌哪析过程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12148940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存