Mybatis专题一__用Mybatis来查询一张表中的数据

在前面我有介绍到Mapper映射文件、config主配置文件和测试类等,这里就不多讲了。我们下面要用Mybatis框架具体的实现代码中来查询数据库表中的数据。今天我们学习的思路是:实体类+mapper映射文件+config主配置文件+测试类。通过这些步骤来查询数据库指定表中的数据。

整个项目的结构如下:lib包是用来方jar包的,选中lib包下面所有的jar包左击---Build Path--->Add to Build Path将包转为整个项目可用。

Mybatis专题一__用Mybatis来查询一张表中的数据_第1张图片

 

首先,我们先在数据库中创建一个名为Student的表(表的名字你可以自定义),并设置三个字段分别是id、name、phone,其中id是主键列,然后给字段分别设置值。如下:

Mybatis专题一__用Mybatis来查询一张表中的数据_第2张图片

 实体类:实体类名与数据库中表的名字保持一致(规范点)。在实体类中定义属性,并给这些属性分别get、set方法。在实体类中,属性的数据类型、属性名是个数和属性名是根据数据库表中的字段来写的。如下:

public class student{
    int id;
    String name;
    String phone;

        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 String getPhone() {
		return Phone;
	}

	public void setPhone(String Phone) {
		this.Phone= Phone;
	}

}

Mapper映射文件:在mapper映射文件中,最重要的是写sql查询语句。如下:

parameterType中填写的数据类型是根据sql语句中指定的主键列的数据类型。resultType中是用的Student这个实体类来几首返回结果的,也可以写config主配置文件中给这个实体类定义的别名。






    

 config主配置文件:主要的三大配置有别名、基础环境配置和扫描mapper文件。




         
	
                
		
	

        
        
	
                
		
                        
			
                        
			
                                
				
                                
				
				
				
			
		
	

        
	
                
		
	

 测试类:如下:

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
 * 这是一个测试类,测试MyBatis从数据库中是否拿到了查询的数据库中的值
 * */
public class AppTest {

	public static void main(String[] args) throws IOException {

		// 第一步,读取资源文件,获得一个字符读入流对象。
		Reader is = Resources.getResourceAsReader("config.xml");

		// 第二步:创建一个数据库会话工厂并调用它的建造方法,建造方法调用到读取资源的对象,并且赋值给了数据库工厂
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);

		// 第三步:用sqlsession工厂对象打开session会话,获得session对象
		SqlSession session = sqlSessionFactory.openSession();

		// 第四步,用session对象调用相应的操作数据库的方法,并执行。
                //selectOne中有两个值,第一个值写的是映射文件中的命名空间+映射文件中select元素中的id的值,
                //第二个值写的是根据sql语句中主键列的第几行的值来查询其那一行其它字段中的数据或值。
		Student users = (Student ) session.selectOne("com.zhiyuan.bean.GetBingAge",1);
		//第五步:使用if判断来判断是否拿到值了,拿到了就输出拿到的表中语句没拿到就输出
		if (users != null) {
                        System.out.println(users.getName());
			System.out.println(users.getAge());
		}
	}
}

 

 

 

你可能感兴趣的:(MyBatis)