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

MyBatis快速入门

目录

前言

步骤

1  创建user 表,添加数据

2 创建模块,导入坐标

3 编写 MyBatis 核心配置文件  --->替换连接信息 解决硬编码问题

4 编写 SQL映射  --> 统一管理SQL语句 ,解决 硬编码问题

​编辑

5 编码

1 定义实体类

2 加载 核心配置文件,获取sqlSessionFactory 对象

3 获取 SqlSession 对象 ,执行 SQL语句

4 执行,释放资源

6 运行


本篇博客,我拿查询user表中所有数据进行举例!!!

前言

MyBatis快速入门,是基于Maven来构建项目。

步骤

1  创建user 表,添加数据

这一步,我们在数据库图形界面工具执行

代码:

create table user(id int auto_increment primary key ,name varchar(20) not null ,age int not null ,email varchar(20)
);
INSERT INTO `user` (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

大家在添加数据时,可以根据自己的心意任意添加,本篇博客,主要通过Mybatis查询表的数据,帮助大家快速入门。

2 创建模块,导入坐标

向pom文件中添加依赖:

大家可以打开 MyBatis官网:mybatis的依赖

注意

1  官网中,并没有明确版本号。大家可以先试试idea会不会让你自动添加合适的版本号。如果没有,可以选择我下方表示的版本。

2 将依赖代码复制到pom文件中去后,点击右侧的图标,等待加载

----- 如果加载不成功:

1 多刷新几次或选择更高版本的

2 浏览器查询原因

步骤

  • 添加mybatis 依赖
  • 添加数据库驱动 (MySQL)依赖
  <dependencies><!-- MyBatis 核心 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.14</version></dependency><!-- 数据库驱动,例如MySQL --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency> </dependencies>

3 编写 MyBatis 核心配置文件  --->替换连接信息 解决硬编码问题

配置文件命名:一般是 mybatis-config.xml 在resources文件夹下

看官网中,发现 :MyBatis 核心配置文件的代码

真正需要修改的:dataSource

标签中,修改数据库的连接,注册驱动(driver,url,usrname,password)

代码如下

  <dataSource type="POOLED">
<!--                数据库连接信息--><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql:///ss?useSSL=false"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource>

------   ss 是数据库名

resource下的路径,是SQL映射文件路径。现在,在这里,暂时不做修改

4 编写 SQL映射  --> 统一管理SQL语句 ,解决 硬编码问题

看官网发现:

映射文件命名:UserMapper.xml 在resources文件夹下

namespace :名称空间

 修改的是我划线的:

注意:如果你书写SQL语句,爆红。并不是说你错了,而是警告提示。

采取行动:鼠标点击idea右上角的一个添加,选择MySQL数据库

​​​​​​​

代码如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace :名称空间-->
<mapper namespace="tt"><select id="selectAll" resultType="com.entity.User">select * from user ;</select>
</mapper>

现在,返回mybatis-config.xml,添加映射文件路径,由于两个文件都在resources文件夹下,所以直接是 文件名:UserMapper.xml


 

5 编码

1 定义实体类

在这里我是先创建一个实体包(entity)包下创建user类

  • 添加成员变量:是表中的字段
  • 添加 Getter 和Setter 方法,toString方法

代码如下

package com.entity;public class User {Integer id;String name;Integer age;String email;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", age=" + age +", email='" + email + '\'' +'}';}
}

2 加载 核心配置文件,获取sqlSessionFactory 对象

首先 创建一个类 ,类名自己定义 。我是:MybatisDemo 类

其次 大家看官网

复制粘贴代码,到你创建的类,抛出异常

resource 下的是MyBatis 核心配置文件 的文件名:mybatis-config.xml

代码如下

  String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

3 获取 SqlSession 对象 ,执行 SQL语句

代码如下

//获取sqlSession对象,用来执行SQLSqlSession sqlSession = sqlSessionFactory.openSession();

4 执行,释放资源

代码如下

  //执行SQLList<User> user= sqlSession.selectList("tt.selectAll");System.out.println(user);//释放资源sqlSession.close();

全图可以参照,下面

6 运行

打印 你查询的数据

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Jwt、Filter、Interceptor
  • 数组学习内容
  • 随想录笔记-二叉树练习题
  • 【Webpack--007】处理其他资源--视频音频
  • 【网络】DNS,域名解析系统
  • 解决RabbitMQ设置TTL过期后不进入死信队列
  • 蓝桥杯—STM32G431RBT6按键的多方式使用(包含软件消抖方法精讲)从原理层面到实际应用(一)
  • WPF DataGrid 列表中,DataGrid.Columns 列根据不同的值显示不同内容
  • 基于Netty实现TCP客户端:封装断线重连、连接保持
  • 僵尸网络开发了新的攻击技术和基础设施
  • 【C++指南】作用域限定符 :: 使用详解
  • Pandas Series对象创建,属性,索引及运算详解
  • 【系统架构设计师】软件架构的概念(经典习题)
  • 深度学习--------------序列模型
  • 17、Python如何读写文本文件
  • 「面试题」如何实现一个圣杯布局?
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Bootstrap JS插件Alert源码分析
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Java|序列化异常StreamCorruptedException的解决方法
  • Selenium实战教程系列(二)---元素定位
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • WebSocket使用
  • 百度地图API标注+时间轴组件
  • 动态规划入门(以爬楼梯为例)
  • 爬虫模拟登陆 SegmentFault
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 让你的分享飞起来——极光推出社会化分享组件
  • 数据结构java版之冒泡排序及优化
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 网络应用优化——时延与带宽
  • 硬币翻转问题,区间操作
  • linux 淘宝开源监控工具tsar
  • Mac 上flink的安装与启动
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​configparser --- 配置文件解析器​
  • #162 (Div. 2)
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #stm32驱动外设模块总结w5500模块
  • $(selector).each()和$.each()的区别
  • $GOPATH/go.mod exists but should not goland
  • (C++哈希表01)
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转载)Google Chrome调试JS
  • ***测试-HTTP方法