MyBatis快速入门

目录

前言

步骤

[1 创建user 表,添加数据](#1 创建user 表,添加数据)

[2 创建模块,导入坐标](#2 创建模块,导入坐标)

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

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

​编辑

[5 编码](#5 编码)

[1 定义实体类](#1 定义实体类)

[2 加载 核心配置文件,获取sqlSessionFactory 对象](#2 加载 核心配置文件,获取sqlSessionFactory 对象)

[3 获取 SqlSession 对象 ,执行 SQL语句](#3 获取 SqlSession 对象 ,执行 SQL语句)

[4 执行,释放资源](#4 执行,释放资源)

[6 运行](#6 运行)


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

前言

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

步骤

1 创建user 表,添加数据

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

代码:

sql 复制代码
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)依赖
java 复制代码
  <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)

代码如下

XML 复制代码
  <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 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//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方法

代码如下

java 复制代码
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;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", email='" + email + '\'' +
                '}';
    }
}

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

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

其次 大家看官网

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

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

代码如下

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

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

代码如下

java 复制代码
//获取sqlSession对象,用来执行SQL
        SqlSession sqlSession = sqlSessionFactory.openSession();

4 执行,释放资源

代码如下

java 复制代码
  //执行SQL
        List<User> user= sqlSession.selectList("tt.selectAll");
        System.out.println(user);
        //释放资源
        sqlSession.close();

全图可以参照,下面

6 运行

打印 你查询的数据

相关推荐
敲代码娶不了六花1 小时前
jsp | servlet | spring forEach读取不了对象List
java·spring·servlet·tomcat·list·jsp
Yhame.1 小时前
深入理解 Java 中的 ArrayList 和 List:泛型与动态数组
java·开发语言
是小崔啊2 小时前
开源轮子 - EasyExcel02(深入实践)
java·开源·excel
mazo_command3 小时前
【MATLAB课设五子棋教程】(附源码)
开发语言·matlab
myNameGL3 小时前
linux安装idea
java·ide·intellij-idea
IT猿手3 小时前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
青春男大3 小时前
java栈--数据结构
java·开发语言·数据结构·学习·eclipse
88号技师3 小时前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
Zer0_on3 小时前
数据结构栈和队列
c语言·开发语言·数据结构
一只小bit3 小时前
数据结构之栈,队列,树
c语言·开发语言·数据结构·c++