栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何基于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, '孙悟空','1980-10-24','男','花果山水帘洞');
insert into user values (null, '白骨精','1992-11-12','女','白虎岭白骨洞');
insert into user values (null, '猪八戒','1983-05-20','男','福临山云栈洞');
insert into user values (null, '蜘蛛精','1995-03-22','女','盤丝洞');

-- 查询用户数据
select * from user;

三、实现步骤

3.1 创建模块3

.2 导入Mybatis框架jar包

3.3 编写用户实体类:User

package com.vg.entity;

import java.util.Date;

public class User {
  private int id;
  private String username;
  private Date birthday;
  private String sex;
  private String address;

  //alt+insert快速生成getter/setter方法
  public int getId() {
    return id;
  }

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

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

  public Date getBirthday() {
    return birthday;
  }

  public void setBirthday(Date birthday) {
    this.birthday = birthday;
  }

  public String getSex() {
    return sex;
  }

  public void setSex(String sex) {
    this.sex = sex;
  }

  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  @Override
  public String toString() {
    return "User{" +
 "id=" + id +
 ", username='" + username + ''' +
 ", birthday=" + birthday +
 ", sex='" + sex + ''' +
 ", address='" + address + ''' +
 '}';
  }
}

3.4 编写dao接口:UserMapper

package com.vg.dao;
import com.vg.entity.User;
import java.util.List;

public interface UserMapper {
  
  List findAllUsers();
}

3.5 编写dao接口映射文件:UserMapper.xml




  

3.6 编写Mybatis主配置文件:sqlMapConfig.xml




  

3.7 编写测试类

package com.vg.test;
import org.junit.Test;

public class TestUserMapper {

  
  @Test
  public void testFindAllUsers(){
    
  }
}

四、完善sqlMapConfig.xml

4.1 目标

完成mybatis主配置文件相关信息的配置:数据库环境信息配置,包括如下:

  • 导入mybatis约束(复制约束信息)
  • 数据库事务配置
  • 数据库连接信息配置
  • 连接池信息配置

4.2 sqlMapConfig.xml主配置文件




  
  
    
    
      
      
      
      
 
 
 
 
 
 
 
 
      
    
  

五、完善UserMapper.xml文件

5.1 目标

完成接口映射配置文件UserMapper.xml的编写:这个映射文件就相当于UserMapper接口实现类配置

5.2 UserMapper.xml接口映射文件





  

  
  

5.3 在sqlMapConfig.xml中加载接口映射配置文件

 
  
    
    
  

六、编写测试类运行

6.1 运行效果

6.2 实现步骤

  • 1. 通过Resources类,加载sqlMapConfig.xml,得到文件输入流对象
  • 2. 实例化会话工厂创建类SqlSessionFactoryBuilder
  • 3. 通过会话工厂创建类,读取上面的输入流,得到会话工厂SqlSessionFactory类
  • 4. 使用SqlSessionFactory对象,创建SqlSession对象
  • a) 它相当于JDBC中的Connection对象,提供了操作数据库的CRUD方法
  • b) 它提供了一个getMapper()方法,获取接口的实现对象。
  • 5. 获取接口 UserMapper 实现类对象
  • 6. 执行数据库的查询操作,输出用户信息
  • 7. 关闭会话,释放资源。

6.3 测试类代码

package com.vg.test;

import com.vg.dao.UserMapper;
import com.vg.entity.User;
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.InputStream;
import java.util.List;


public class TestUserMapper {
  
  @Test
  public void testFindAllUsers() throws Exception{
    //1. 通过Resources类,加载sqlMapConfig.xml,得到文件输入流对象
    // Resources类作用:专门读取src目录下的资源文件
    InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
    //2. 实例化会话工厂创建类SqlSessionFactoryBuilder
    SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
    //3. 通过会话工厂创建类,读取上面的输入流,得到会话工厂SqlSessionFactory类
    SqlSessionFactory sqlSessionFactory = builder.build(in);
    //4. 使用SqlSessionFactory对象,创建SqlSession对象
    //a) 它相当于JDBC中的Connection对象,提供了操作数据库的CRUD方法
    //b) 它提供了一个getMapper()方法,获取接口的实现对象。
    SqlSession sqlSession = sqlSessionFactory.openSession();
    //5. 获取接口 UserMapper 实现类对象
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    System.out.println("userMapper = " +userMapper);
    //6. 执行数据库的查询操作,输出用户信息
    List userList = userMapper.findAllUsers();
    for (User user : userList) {
      System.out.println(user);
    }
    //7. 关闭会话,释放资源。
    sqlSession.close();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/130700.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号