我的编程空间,编程开发者的网络收藏夹
学习永远不晚

一文教会你用mybatis查询数据库数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

一文教会你用mybatis查询数据库数据

一、新建数据库和表

建一个数据库mybatis,建一个表person,然后填充一些数据(这里我是使用了图形化工具Navicat for MySQL,就不写原生的数据库代码了)

二、新建maven项目,添加mybatis依赖

新建一个maven项目,我以往文章有提到如何建一个maven项目,这里不多赘述:

Maven入门—如何在idea中配置Maven

添加依赖,在pom.xml文件上添加以下代码

<dependencies>
        <!--    数据库驱动 版本不能乱用5.1.47  -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
		<!-- 单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>

        <!-- lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>
</dependencies>

三、新建实体类、接口(Mapper)

Person实体类

package entity;

public class Person {
    private int id;
    private String name;
    private int age;

    public Person() {
    }

    public Person(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

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

PersonMapper接口

import entity.Person;
import java.util.List;

public interface PersonMapper {
    //查询所有数据
    public List<Person> getPerson();
}

四、新建实现类(使用.xml映射文件)

在resources目录下新建一个PersonMapper.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">

<!-- 映射     namespace : 和哪个接口有映射关系-->
<mapper namespace="mapper.PersonMapper">
    <!--
        select标签中的语句  需要和接口中哪个方法有映射关系
        id         : 接口中的方法名
        resultType:  方法的返回类型(写全类名)
     -->
    <select id="getPerson" resultType="entity.Person">
        select * from person
    </select>
</mapper>

五、新建全局配置文件(mybatis-config.xml)

在resources目录下新建一个mybatis-config.xml文件

数据库密码(password)写你自己的

<?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  多环境配置
         environment   配置数据源
         transactionManager     事务管理器
         dataSource     数据源
     -->
    <environments default="p1">

        <environment id="p1">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

    <!-- 注册映射  -->
    <mappers>
        <mapper resource="PersonMapper.xml"/>
    </mappers>
</configuration>

六、编写demo类,进行测试查询数据库

1、读取配置文件

2、根据配置文件构建工厂

3、获取会话

4、获取Mapper对象

5、执行方法

6、关闭会话

public class demo {
	@Test
    public void test2() throws IOException {
        //读取配置文件
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
        //根据配置文件构建工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        //获取会话
        SqlSession sqlSession = sessionFactory.openSession();
        //获取Mapper对象
        PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
        //执行方法
        List<Person> person = personMapper.getPerson();
        System.out.println(person);
        //关闭会话
        sqlSession.close();
    }
 }

输出结果

总结

到此这篇关于mybatis查询数据库数据的文章就介绍到这了,更多相关mybatis查询数据库数据内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

一文教会你用mybatis查询数据库数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

教你使用SQL语句进行数据库复杂查询

目录前言前言本篇可当做例题练习,1.查询比”林红”年纪大的男学生信息语句:select *from Studentwhere Sex='男' and year(Birth)-(select year(Bir
2023-01-05

Mybatis如何使用JSONObject接收数据库查询

这篇文章主要介绍了Mybatis如何使用JSONObject接收数据库查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. mapper.xml设置resultTypere
2023-06-22

oracle数据库查询数据文件地址怎么查

oracle 数据文件地址查询方法:通过 v$datafile 视图:查询语句:select file_id, name, tablespace_name, file_size from v$datafile;通过 dba_data_fil
oracle数据库查询数据文件地址怎么查
2024-04-18

一文教你Qt如何操作SQLite数据库

Sqlite数据库作为Qt项目开发中经常使用的一个轻量级的数据库,可以说是兼容性相对比较好的数据库之一。本文为大家介绍了Qt操作SQLite数据库的具体方法,希望对大家有所帮助
2023-03-09

mybatis一对多数据怎么查询封装

在MyBatis中,可以使用嵌套查询或者嵌套结果映射来实现一对多数据的查询和封装。嵌套查询:可以使用MyBatis的association和collection标签来进行嵌套查询。首先,在mapper文件中定义查询一的一方的SQL语句,使用
2023-10-27

mybatis查询结果和数据库不一致如何解决

当MyBatis的查询结果和数据库不一致时,可以考虑以下几个方面来解决问题:1. 缓存问题:如果使用了缓存机制,可能会导致查询结果和数据库不一致。可以尝试清除缓存,或者禁用缓存来解决问题。2. 事务问题:如果涉及到事务操作,可能会出现查询结
2023-10-18

MyBatis视图与数据库查询缓存的利用

MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。当涉及到数据库查询缓存时,MyBatis 提供了一种机制来利用缓存来提高查询性能。MyBatis 视图(View)通常是预定义的 SQL 查询结果,它们可
MyBatis视图与数据库查询缓存的利用
2024-10-15

MySQL 数据库查询数据,过滤重复数据保留一条数据-

转自: http://www.maomao365.com/?p=10564  摘要: 下文讲述MySQL数据库查询重复数据时,只保留一条数据的方法 实现思路: 在MySQL数据库中没有row_number函数,所以我们需变向实现此功能。 --1.基础数据
MySQL 数据库查询数据,过滤重复数据保留一条数据-
2021-10-02

学会使用Oracle函数,提升数据库查询效率

学会使用Oracle函数,提升数据库查询效率在数据库查询中,使用函数是提高效率和灵活性的关键。Oracle数据库提供了许多内置函数,可以帮助我们更高效地处理数据。本文将介绍一些常用的Oracle函数,并给出具体的代码示例,希望能够帮助读者
学会使用Oracle函数,提升数据库查询效率
2024-03-03

如何用php查询数据库中最新的一条数据

本篇内容主要讲解“如何用php查询数据库中最新的一条数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用php查询数据库中最新的一条数据”吧!查询数据库中的最新一条数据通常需要以下步骤:连接
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录