搭建 MyBatis 环境

目录

1.添加依赖

2.数据库连接配置

3.配置XML路径

4.下载插件MyBatisX

5.如何使用

6.示例


1.添加依赖

  • 创建新项目时添加两个依赖: MyBatis Framewrok 和 MySQL Driver 

如果是在已经创建好的项目中配置mybatis环境。需要先下载一个插件:EditStarters

然后在pom.xml中右键选择:

和创建新项目时一样,添加这两个依赖。 

2.数据库连接配置

  • application.properties application.yml 中进行连接配置,任意配置一个就行:

  2.1 application.properties 文件

#数据库连接配置
spring.datasource.url = "jdbc:mysql://127.0.0.1:3306/idiomdb?characterEncoding=utf8&useSSL=false"
spring.datasource.username=root
spring.datasource.password=123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

2.2 application.yml 文件

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

注意事项:检查你的 mysql-connect-java 版本,如果 mysql-connect-java 的版本是5.x之前的使用的是 ”com.mysql.jdbc.Driver“,如果版本大于5.x使用的是"com.mysql.cj.jdbc.Driver"。

3.配置XML路径

在刚才代码的下面再添加一行代码:

#properties
mybatis.mapper-locations=classpath:mybatis/*mapper.xml#yml
mybatis:mapper-locations: classpath:mybatis/*mapper.xml

并且在resources目录下创建一个同名的文件。这个文件名和xml文件名都可以自定义。对于XML文件,文件后面部分必须跟上面classpath后的xml文件名一样,开头可以任意添加。

在创建的XML文件中添加如下代码:

<?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.demo.mapper.UserMapper"></mapper>

4.下载插件MyBatisX

下载并启用之后,会在具有一一对应的Interface方法和XXX.xml方法中快速切换,便于编写代码。

5.如何使用

mybatis采用的是Interface方法定义+XXX.xml方法实现,即一张表就对应一组Interface+xml。

我们需要创建一个接口来定义一些对数据库的操作方法,但并不做具体实现,具体实现(sql语句)是在xml文件里。

6.示例

Interface代码

@Mapper  //Mapper很重要 必须添加
public interface UserMapper {//@Param("id") 可加可不加 加了比较好 加了之后 就与后面的参数名无关了 主要是@Param("id") 与 xml的id名保持一致就行Userinfo getUserById(@Param("id") Integer id); 
}

xml 代码

<?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.ssmdemo.mapper.UserMapper"><!-- 主要语句 --><select id="getUserById" resultType="com.example.ssmdemo.entity.Userinfo">select * from userinfo where id = #{id} <!-- jdbc是问号 这里是#符 其实本质上还是? --></select></mapper>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/341607.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI换脸-faceswap

&#x1f3e1; 个人主页&#xff1a;IT贫道-CSDN博客 &#x1f6a9; 私聊博主&#xff1a;私聊博主加WX好友&#xff0c;获取更多资料哦~ &#x1f514; 博主个人B栈地址&#xff1a;豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 1. AI换脸原理 1.1 G…

初识Ubuntu

其实还是linux操作系统 命令都一样 但是在学习初级阶段&#xff0c;我还是将其分开有便于我的学习和稳固。 cat 查看文件 命令 Ubuntu工作中经常是用普通用户&#xff0c;在需要时才进行登录管理员用户 sudn -i 切换成管理用户 我们远程连接时 如果出现 hostname -I没有出现…

精品公式——“V型反转”,精准把握V型反转行情,主副图分享

► 日线表现 代码评估 技术指标代码评估&#xff1a; M5, M14, M25 - 指数移动平均线&#xff08;EMA&#xff09;: M5:EMA(C,5),COLORLIBLUE;&#xff1a;5日指数移动平均线&#xff0c;用浅蓝色表示。 M14:EMA(C,13),COLORF00FF0;&#xff1a;13日指数移动平均线&#xff…

Go模板后端渲染时vue单页面冲突处理

go后端模版语法是通过 {{}} &#xff0c;vue也是通过双花括号来渲染的&#xff0c;如果使用go渲染vue的html页面的时候就会报错&#xff0c;因为分别不出来哪个是vue的&#xff0c;哪个是go的&#xff0c;既可以修改go的模板语法 template.New("output").Delims(&qu…

数据结构与算法教程,数据结构C语言版教程!(第三部分、栈(Stack)和队列(Queue)详解)四

第三部分、栈(Stack)和队列(Queue)详解 栈和队列&#xff0c;严格意义上来说&#xff0c;也属于线性表&#xff0c;因为它们也都用于存储逻辑关系为 "一对一" 的数据&#xff0c;但由于它们比较特殊&#xff0c;因此将其单独作为一章&#xff0c;做重点讲解。 使用栈…

Redis 为什么要分16个库

目录 一. 前言 二. 16 个数据库的由来 三. 正解 Redis 数据库概念 四. 集群环境下的 Redis 实例 五. 总结 一. 前言 在实际的项目中&#xff0c;Redis 常被用作缓存、分布式锁、消息队列等的解决方案。但是在搭建好Redis 服务后&#xff0c;Redis 默认创建了16个数据库&am…

微软Visual Studio产品之Visual C++编程进阶——一维数组(画画版)

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;看到不少初学者在学习编程语言的过程中如此的痛苦&#xff0c;我决定做点什么&#xff0c;我小时候喜欢看小人书&#xff08;连环画&#xff09;&#xff0c;在那个没有电视、没有手机的年代&#xff0c;这是…

dhcp 时间同步 详细介绍

装服务程序步骤 1.如果有默认配置 请先备份 再进行修改 2.修改完配置文件 请重启服务或重新加载配置文件 否则不生效 注意&#xff1a;有的软件 安装包的名字和 系统里服务程序的名字不一样 htttp httpd openssh-server ssh 高阶级改防火墙 一&#xff0c; dhcp自动分配IP地…

JavaScript基础02

1 - 运算符&#xff08;操作符&#xff09; 1.1 运算符的分类 运算符&#xff08;operator&#xff09;也被称为操作符&#xff0c;是用于实现赋值、比较和执行算数运算等功能的符号。 JavaScript中常用的运算符有&#xff1a; 算数运算符 递增和递减运算符 比较运算符 逻…

Unity组件开发--短连接HTTP

1.网络请求管理器 using LitJson; using Cysharp.Threading.Tasks; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; using UnityEngine.Events;using System.Web; using System.Text; using Sy…

安防视频云平台/可视化监控云平台ARM版EasyCVR无法下载录像文件,如何解决?

视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。GB28181视频监控/AI智能大数据视频分析EasyCVR平台已经广泛应用在工地…

Google I/O大会:Android 13

3个体验升级的方向 以智能手机为场景核心、 扩大智能终端的应用边界以及实现多设备间更好地协同。具体到系统体验层&#xff0c;安卓13将支持图标颜色随主题更换、为不同应用设定使用的语言、新的媒体中心界面等等&#xff0c;同时谷歌也推出了自家的钱包应用&#xff08;Goog…