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

目录
  • 一、新建数据库和表
  • 二、新建maven项目,添加mybatis依赖
  • 三、新建实体类、接口(Mapper)
  • 四、新建实现类(使用.xml映射文件)
  • 五、新建全局配置文件(mybatis-config.xml)
  • 六、编写demo类,进行测试查询数据库
  • 总结

一、新建数据库和表

建一个数据库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查询数据库数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 如何基于mybatis框架查询数据库表数据并打印

    一.需求说明 使用mybatis框架查询数据库user表数据并打印到控制台上 二.数据库数据准备 -- 创建用户表 create table user ( id int primary key auto_increment, username varchar(20) not null, birthday date, sex char(1) default '男', address varchar(50) ); -- 添加用户数据 insert into user values (null, '孙

  • JavaEE Spring MyBatis如何一步一步实现数据库查询功能

    配置好一个SptingBoot项目配置好MyBatis JavaEE Spring~MyBatis是什么? 它和Hibernate的区别有哪些?如何配置MyBatis? SpringBoot配置文件application.properties简单介绍 确保MyBatis配置正确 手动实现一个xml文件 上面我是用的是一个自定义的接口 此时没有它对应的xml文件 此时我们需要 下图中column表示查询列, property表示返回类型中的属性 在Controller中进行测试 package l

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

    目录 一.新建数据库和表 二.新建maven项目,添加mybatis依赖 三.新建实体类.接口(Mapper) 四.新建实现类(使用.xml映射文件) 五.新建全局配置文件(mybatis-config.xml) 六.编写demo类,进行测试查询数据库 总结 一.新建数据库和表 建一个数据库mybatis,建一个表person,然后填充一些数据(这里我是使用了图形化工具Navicat for MySQL,就不写原生的数据库代码了) 二.新建maven项目,添加mybatis依赖 新建一个mave

  • 通过MyBatis读取数据库数据并提供rest接口访问

    1 mysql 创建数据库脚本 -- phpMyAdmin SQL Dump -- version 4.2.11 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: 2016-08-02 18:13:50 -- 服务器版本: 5.6.21 -- PHP Version: 5.6.3 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = &q

  • ajax动态查询数据库数据并显示在前台的方法

    今天做了一个ajax动态查询数据库的小Demo,又重新学习了一下ajax的一些知识.在此和大家分享一下...... 啥都别说了,先上代码 Controller层 查询总用户数 @RequestMapping(value = "/findTotalUsers.do",method = RequestMethod.GET) public @ResponseBody Long findTotalUsers(){ ModelAndView modelAndView = new ModelAnd

  • java小知识之查询数据库数据的元信息

    目录 简介 使用ResultSet 使用ResultSetMetaData 总结 简介 java中数据库的操作相信大家都不陌生,JDK提供了java.sql包来规范对数据库的各种操作.我们最常用的操作就是从数据库的ResultSet中获取数据,其实这个包中还有一个非常有用的类叫做ResultSetMetaData,可以通过这个类来获取查询数据的元信息,一起来看看吧. 使用ResultSet java.sql.ResultSet是一个通用的规范,用来表示从数据库获取到的数据. 通常来说,我们通过c

  • MyBatis实现两种查询树形数据的方法详解(嵌套结果集和递归查询)

    目录 方法一:使用嵌套结果集实现 1,准备工作 2,实现代码 方法二:使用递归查询实现 树形结构数据在开发中十分常见,比如:菜单数.组织树, 利用 MyBatis 提供嵌套查询功能可以很方便地实现这个功能需求.而其具体地实现方法又有两种,下面分别通过样例进行演示. 方法一:使用嵌套结果集实现 1,准备工作 (1)假设我们有如下一张菜单表 menu,其中子菜单通过 parendId 与父菜单的 id 进行关联: (2)对应的实体类如下: @Setter @Getter public class M

  • Mybatis实现查询相册数据列表流程讲解

    目录 1.书写执行的SQL语句 2.在项目的根包下创建pojo.vo.AlbumListItemVO类 3.在AlbumMapper.java中添加抽象方法 4.在AlbumMapper.xml中配置SQL语句 5.在AlbumMapperTests.java中编写并执行测试 1.书写执行的SQL语句 需要执行的SQL语句大致是: SELECT xx,xx FROM pms_album ORDER BY sort DESC, id DESC 注意:如果查询结果的数量可能超过1条,在查询的SQL语

  • Thinkphp5框架实现获取数据库数据到视图的方法

    本文实例讲述了Thinkphp5框架实现获取数据库数据到视图的方法.分享给大家供大家参考,具体如下: 这是学习thinkhp5的基础篇笔记. 这里主要讲怎么配置数据库链接,以及查询数据库数据,并且最后将数据赋给视图. 数据库配置: thinkphp5的数据库配置默认在conf下的database.php下面.我的数据库配置项目如下 <?php return [ // 数据库类型 'type' => 'mysql', // 数据库连接DSN配置 'dsn' => '', // 服务器地址

  • Mybatis查询延迟加载详解及实例

    Mybatis查询延迟加载详解及实例 1.1     启用延迟加载 Mybatis的延迟加载是针对嵌套查询而言的,是指在进行查询的时候先只查询最外层的SQL,对于内层SQL将在需要使用的时候才查询出来.Mybatis的延迟加载默认是关闭的,即默认是一次就将所有的嵌套SQL一并查了将对象所有的信息都查询出来.开启延迟加载有两种方式. 第一种是在对应的<collection>或<association>标签上指定fetchType属性值为"lazy".如下示例中我们

  • Mybatis查询记录条数的实例代码

    这几天在学SSM框架,今天在SSM框架中根据某个条件查询MySQL数据库中的记录条数,碰到一些问题,记录一下 User.xml <select id="userNameValidate" parameterType="String" resultType="Integer"> select count(*) from user where username like #{value} </select> <selec

随机推荐