当前位置: 首页 > 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());}}

成功 

相关文章:

  • 信号可靠性剖析
  • JVM之四种引用类型(五)
  • 使用 OpenFunction 在任何基础设施上运行 Serverless 工作负载
  • Python网络爬虫环境的安装指南
  • ES6中 对象合并
  • C++作业6
  • 第3章 接入网
  • VUE学习笔记(表单数据收集)
  • uniapp 在app端 使用webview进行数据交互。
  • 【计算机组成体系结构】主存储器的基本组成
  • 两数之和 三数之和 哈希方法
  • Zabbix HA高可用集群搭建
  • uniapp中wx.getSystemInfoSync() 或 wx.getSystemInfo() 踩坑
  • Burp suite抓虚拟机的包
  • 中标!世界500强中信集团携手道本科技共建风险管理应用三期建设项目
  • 【个人向】《HTTP图解》阅后小结
  • 10个最佳ES6特性 ES7与ES8的特性
  • 2017-08-04 前端日报
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • jdbc就是这么简单
  • Linux各目录及每个目录的详细介绍
  • Vim Clutch | 面向脚踏板编程……
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 排序算法学习笔记
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 学习笔记TF060:图像语音结合,看图说话
  • 用Visual Studio开发以太坊智能合约
  • 责任链模式的两种实现
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • #Linux(Source Insight安装及工程建立)
  • $$$$GB2312-80区位编码表$$$$
  • %check_box% in rails :coditions={:has_many , :through}
  • (27)4.8 习题课
  • (C语言)逆序输出字符串
  • (libusb) usb口自动刷新
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (ZT)一个美国文科博士的YardLife
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET 解决重复提交问题
  • .NET 药厂业务系统 CPU爆高分析
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • /3GB和/USERVA开关
  • ::
  • @ConditionalOnProperty注解使用说明
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • @取消转义
  • [ NOI 2001 ] 食物链