当前位置: 首页 > news >正文

Mybatis XML 配置文件

我们刚开始就有说Mybatis 的开发有两种方式:

1.注释

2.XML

注解和 XML 的方式是可以共存的

我们前面说的都是注释的方式,接下来是XML方式

XML的方式分为三步 : 

1.配置数据库(配在 application.yml 里面)

  这个跟注释的配置是一样的,username应该都是一样的,password记得写自己的

# 数据库连接配置
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=falseusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver

2.指明XML 的路径(配在 application.yml 里面)

  最后一行冒号后面的第一个 mapper 是根据自己在 resource 创建的 directory 名字一样

mybatis:configuration: # 配置打印 MyBatis⽇志log-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true #配置驼峰⾃动转换
# 配置 mybatis xml 的⽂件路径,在 resources/mapper 创建所有表的 xml ⽂件mapper-locations: classpath:mapper/**Mapper.xml

在 resource 创建 directory 名为mapper

 

3.写XML的实现

创建一个接口名为 UserInfoXMLMapper

接口里面写如下代码

package com.example.mybatisdemo.mapper;import com.example.mybatisdemo.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;import java.util.List;@Mapper
public interface UserInfoXMLMapper {List<UserInfo> selectAll();//声明这个方法
}

然后在刚刚创建的 mapper 里面再创建一个 directory 名为 UserInfoXMLMapper.xml(跟上面接口名一样)

然后把下面这一段复制进 UserInfoXMLMapper.xml

这里面的namespace后面那一段,就是刚刚创建的接口的第一行package后面再加上接口名

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mybatisdemo.mapper.UserInfoXMLMapper">
</mapper>

接下来就可以在这里面写代码了,写一个查询所有数据,resultType等号后面跟着的是UserInfoXMLMapper接口的第二行import 后面跟着的内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mybatisdemo.mapper.UserInfoXMLMapper"><select id="selectAll" resultType="com.example.mybatisdemo.model.UserInfo">select * from userinfo</select>
</mapper>

然后返回接口的页面,右键,generate,test,勾选selectAll,ok

然后对代码进行补充

package com.example.mybatisdemo.mapper;import com.example.mybatisdemo.model.UserInfo;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import static org.junit.jupiter.api.Assertions.*;@Slf4j
@SpringBootTest
class UserInfoXMLMapperTest {
@Autowiredprivate UserInfoXMLMapper userInfoXMLMapper;@Testvoid selectAll() {List<UserInfo> userInfos = userInfoXMLMapper.selectAll();log.info(userInfos.toString());}}

成功 

​​​​​​​

http://www.lryc.cn/news/257887.html

相关文章:

  • CCF计算机软件能力认证202309-1坐标变换(其一)(C语言)
  • k8s 如何部署Mysql(史上最权威教程)?
  • 红队攻防实战之Redis-RCE集锦
  • 六级翻译之印章
  • PHP数据库操作实例 - 学生信息管理
  • 企业架构LB-服务器的负载均衡之LVS实现
  • Java程序设计基础 - 课程概述
  • 基于SpringBoot+Vue前后端分离的商城管理系统(Java毕业设计)
  • vue3中实现el-tree通过ctrl或shift批量选择节点并高亮展示
  • HarmonyOS 振动效果开发指导
  • 【ACM独立出版、确定的ISBN号】第三届密码学、网络安全和通信技术国际会议(CNSCT 2024)
  • Qt12.8
  • QT使用SQLite 超详细(增删改查、包括对大量数据快速存储和更新)
  • 基于Springboot+mybatis+mysql+jsp招聘网站
  • PHP介绍及安装
  • linux C++监听管道文件方式
  • 【Qt开发流程】之UI风格、预览及QPalette使用
  • 数组实现循环队列(增设队列大小size)
  • [BJDCTF2020]EzPHP 许多的特性
  • Ubuntu开机出现Welcome to emergency mode解决办法
  • Android 7.1 默认自拍镜像
  • 设计模式(二)-创建者模式(5)-建造者模式
  • 学习使用三个命令实现在腾讯云服务器TencentOS Server 3.1或者CentOS 8上安装ffmpeg
  • Java 22种设计模式详解
  • 代码随想录算法训练营第四十八天 _ 动态规划_198.打家劫舍、213.打家劫舍II、337.打家劫舍 III。
  • 记录一下快速上手Springboot登录注册项目
  • 【LVGL】STM32F429IGT6(在野火官网的LCD例程上)移植LVGL官方的例程(还没写完,有问题 排查中)
  • Vue学习笔记-Vue3中ref和reactive函数的使用
  • 大数据分析与应用实验任务十一
  • “78Win-Vận mệnh tốt”Trang web hỗ trợ kỹ thuật