IDEA(maven)+mybatis+mysql实现数据库查询操作

2023-05-16

原文链接

0.前言

最近在学习使用ssm框架,整合过程比较麻烦,先把基础使用部分整理出来,这篇文章只是使用了mybatis连接数据库进行查询操作,主要来熟悉mybatis和数据库部分的操作。

IDEA:2020.2.1
mysql:8.0.21
步骤如下:
1.新建maven工程
2.添加必要依赖
3. 连接数据库,编写实体类
4. 编写Mapper.xml(sql语句)
5.编写数据库配置文件
6.编写测试类

1.新建一个maven工程

新建一个项目,选择好JDK版本,直接点击Next。(注意,此处不需要web环境,所以直接搭建就可以)
在这里插入图片描述
选择名称和位置,点击Finish

在这里插入图片描述
新建完的maven工程后的目录结构如下:

在这里插入图片描述

2.添加坐标(依赖)

打开prom.xml,添加依赖(坐标)。把下面内容赋值到prom.xml文件中保存即可

<!--手动添加依赖-->
<dependencies>
    <!--java单元测试框架-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>
    <!--lombok可以使用注解的方式提供get和set方法  -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.10</version>
    </dependency>
    <!--mysql数据库驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.39</version>
    </dependency>
    <!-- 日志打印-->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>
    <!-- mybatis,一种数据库持久层框架-->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.5</version>
    </dependency>
</dependencies>

点击右侧的这个小图标,进行刷新操作,依赖就会添加了。

在这里插入图片描述
在这里插入图片描述

3.链接数据库

首先你要有个mysql数据库,如果没有的话,可以点击看如何下载安装配置。

执行下面这个sql脚本就会产生数据或者点击这里看如何生成测试数据。

DROP TABLE IF EXISTS `students`;
CREATE TABLE `students` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `stu_name` varchar(20) NOT NULL ,
    `stu_sex` varchar(10)  NOT NULL ,
    `class_id` int(10)  NOT NULL ,
    `age` int(10) NOT NULL  DEFAULT 18,
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;
insert into students (stu_name,stu_sex,class_id,age) values
('张三','男',1001,18),
('王晓红','女',2001,20),
('李清乐','男',1001,23),
('赵倚天','男',3001,23);

然后用IDEA自带的数据库连接软件进行连接操作

在这里插入图片描述
填写必要信息,点击测试连接

在这里插入图片描述
如果点击测试连接的时候出现“服务器返回无效的时区。需要设置 ‘serverTimezone’ 属性”点击这里解决。

在这里插入图片描述
在main下新建一个我们的目录文件。

在这里插入图片描述
新建一个实体类,跟数据库的表名对应。注意,类名首字母一般大写。

在这里插入图片描述

package com.cat.pojo;
import lombok.Data;
 
@Data  //加上Data就不用写get和set方法了
public class Students {
    private int id;
    private  String stu_name;
    private  String stu_sex;
    private  int class_id;
    private  int age;
}

4.编写mapper.xml(sql语句)

上面我们创建完了实体类,下面开始写xml配置,sql语句。我们新建包,然后在包下面新建一个studentsMapper.xml文件。注意这里建包规则和上面不同这里要写成com/cat/mapper。而上面的要写成com.cat.xxx 这种形式。
在这里插入图片描述

<?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.cat.mapper">
    <!--    id 和返回类型,就是封装到什么地方-->
    <select id="listAllStudents" resultType="com.cat.pojo.Students">
        select * from students;
    </select>
</mapper>

在这里插入图片描述

5.编写数据库配置文件(MyBatisConfig.xml)

这里的名字无所谓,知道每个文件的功能别写错了就行。不明白这个文件的可以点击这里看

特别要注意不要写错了。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration >
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/myapp"/>
                <property name="username"  value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/cat/mapper/StudentsMapper.xml"/>
    </mappers>
</configuration>

6.编写测试类

我们开始编写一个测试类,用来测试我们是否可以正常从数据库中取出数据。

在这里插入图片描述

package com.cat.test;
import com.cat.pojo.Students;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatisTest {
    @Test
    public void  test() throws IOException{
        //获得核心配置文件
        InputStream in = Resources.getResourceAsStream("MyBatisConfig.xml");
        //获得session工厂对象
        SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
        SqlSessionFactory factory=builder.build(in);
        SqlSession session =factory.openSession();
        //获得会话对象
        List<Students> students =session.selectList("com.cat.mapper.listAllStudents");
        System.out.println(students);
        session.close();  //关闭
    }
}

写完了之后,我们点击旁边绿色的小箭头。

在这里插入图片描述
可以看出这里已经输出数据库的信息了。

在这里插入图片描述

7.后记

这篇文章记录了使用mybatis连接数据库并从数据库中取出信息。核心配置文件一共就两个,一个是sql语句文件,一个是mybatis数据库配置文件。但是我们在测试的时候可发现,我们调用一个sql语句,就需要写大量的SqlSession,十分繁琐,所以后期我们用spring来进行整合操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDEA(maven)+mybatis+mysql实现数据库查询操作 的相关文章

随机推荐

  • uniapp实现购物车功能

    uniapp实现购物车功能 周六我看见一个有个公司招聘需要试岗3天 xff0c 并使用uniapp完成购物车 xff0c 直播间 xff0c 地图 xff0c 首页四个功能方能通过 xff0c 于是乎 xff0c 我趁手上没事就打算自己写一
  • vue3 setup 语法糖

    Vue3官方提供了 script setup 语法糖 只需在script标签中添加setup xff0c 组件只需引入不用注册 xff0c 属性和方法也不用返回 xff0c 也不用写setup函数 xff0c 也不用写export defa
  • 5_04_GLib库入门与实践_线程池

    简介 线程池是在多线程编程时经常用到的技术 在进行多线程任务处理时 xff0c 如果线程频繁创建和销毁 xff0c 将会使系统开销变大 xff0c 在这种情况下 xff0c 上一个任务执行完后不销毁之前创建的线程 xff0c 后续任务重用该
  • codeforce#dp专项

    1 https codeforces com problemset problem 467 C 题意 给定一个长度为n的序列 xff0c 找到k个长度为m的子串 xff08 不是子序列 xff09 xff0c 求能得到的每个子串相加后的最大
  • Java MyBatis的介绍及其执行原理

    写在前面 MyBatis学习 今天我们进行MyBatis框架的学习 xff0c 认识MyBatis及其执行原理 xff0c 感谢你的阅读 xff0c 内容若有不当之处 xff0c 希望大家多多指正 xff0c 一起进步 xff01 xff0
  • Linux工作目录切换命令

    规则目录指的是用户在系统中所处的位置 xff0c 简单记录几个关于目录操作的命令 1 pwd命令 pwd命令用于显示当前用户所在的工作目录 root 64 ecs 168546 etc pwd etc 2 cd命令 cd命令用于切换工作路径
  • Pytorch Tensor 维度操作的形象理解 Tensor.unsqueeze() Tensor.squeeze()

    我们认为数组 矩阵 张量都是有形状的 xff0c 假如有一个形状是 2 2 3 的张量 a xff0c 从左到右称为第0维 第1维 第2维 我可以使用 a 1 取出第0维视角下的第1组数据 xff0c 可以使用 a 0 看到第2维视角下的第
  • FastAPI学习-9. Swagger文档输出请求示例example

    前言 可以在 Swagger文档上看到请求示例example xff0c 使用Pydantic schema extra属性来实现 schema extra 使用 Config 和 schema extra 为Pydantic模型声明一个示
  • JS的继承(未完待续。。。)

    1 原型链继承 function Animal name this name 61 name 39 Animal 39 this food 61 39 菜 39 this skill 61 39 吃饭 39 39 睡觉 39 39 打豆豆
  • 实数gcd,大数快速乘与组合数取模

    实数gcd 在计算几何的题目中 xff0c 有时会需要你算两个角度的最大公因数 会有误差 xff0c 具体操作和整数的gcd类似 xff0c 但要注意输入可能会有0 模板如下 xff1a double fgcd double a doubl
  • 易语言网络验证UI界面源码

    网络验证 www kekeyz cn 源码下载地址 xff1a 易语言网络验证登录界面UI界面 e 其它文档类资源 CSDN下载易语言网络验证登录界面UI界面 e更多下载资源 学习资料请访问CSDN下载频道 这里是图片001 https d
  • JustAuth实现GitHub登录

    GitHub创建第三方应用 具体步骤查看博客 xff1a GitHub创建第三方应用 copy以下三个信息 xff1a Client ID Client Secret和Authorization callback URL applicati
  • CentOS 7离线安装MySQL 5.6

    CentOS 7离线安装MySQL 5 6 本文是基于CentOS 7系统环境 xff0c 安装和测试MySQL 5 6 xff1a CentOS 7 3MySQL 5 6 45 1 el7 x86 64 rpm bundle 一 安装前的
  • 一篇万字博文带你入坑爬虫这条不归路 【万字图文】

    最近 xff0c 很多粉丝私信我问 爬虫到底是什么 xff1f 学习爬虫到底该从何下手 xff1f 其实 xff0c 我想说的也是曾经的我身为小白的时候某些大牛对我说过的 很多时候我们都有一颗想要学习新知识的心 xff0c 却总是畏惧于对想
  • 一零四、大数据可视化技术与应用实训(展示大屏幕)

    目录 一 定义 二 技能标准 三 实训安排 四 前台页面展示 五 项目架构 六 static 七 py文件 app py data py data corp py data job py readsplit py 八 index页面 一 定
  • 万字肝完nodejs入门教程,详解入口,建议收藏(更新中)

    nodejs入门教程 1 前言2 入门教程 2 1 命令行运行node js脚本2 2 退出node js程序2 3 如何使用 Node js REPL 2 3 1 使用方式2 3 2 点命令 help editor break save
  • java.sql.SQLNonTransientConnectionException Public Key Retrieval is not allowed

    报错信息 2022 03 18 17 46 43 428 ERROR 20704 eate 1849941462 com alibaba druid pool DruidDataSource create connection SQLExc
  • Java8中Stream详细用法大全

    一 概述 Java 8 是一个非常成功的版本 xff0c 这个版本新增的Stream xff0c 配合同版本出现的Lambda xff0c 给我们操作集合 xff08 Collection xff09 提供了极大的便利 Stream流是JD
  • JavaCV开发详解之1:调用本机摄像头并预览摄像头图像画面视频(建议使用javaCV最新版本)

    JavaCV免费教程目录 xff1a JavaCV入门教程 xff08 免费JavaCV教程 xff09 javacv实战专栏目录 xff08 2016年更新至今 xff09 xff1a JavaCV实战专栏文章目录 xff08 2016年
  • IDEA(maven)+mybatis+mysql实现数据库查询操作

    原文链接 0 前言 最近在学习使用ssm框架 xff0c 整合过程比较麻烦 xff0c 先把基础使用部分整理出来 xff0c 这篇文章只是使用了mybatis连接数据库进行查询操作 xff0c 主要来熟悉mybatis和数据库部分的操作 I