开发手册 欢迎您!
软件开发者资料库

iBATIS - 读操作

iBATIS的| iBATIS阅读操作| iBATIS查看记录|使用iBATIS的CRUD - 适用于初学者的免费iBATIS教程,参考手册和指南。了解iBATIS框架如何从环境设置,读取,写入,更新,使用结果映射,动态和内联SQL删除数据库记录开始。

我们在上一章讨论了如何使用iBATIS对表执行CREATE操作.本章介绍如何使用iBATIS读取表格.

我们在MySQL中有以下EMPLOYEE表 :

CREATE TABLE EMPLOYEE (   id INT NOT NULL auto_increment,   first_name VARCHAR(20) default NULL,   last_name  VARCHAR(20) default NULL,   salary     INT  default NULL,   PRIMARY KEY (id));

此表只有一条记录如下 :

mysql> select * from EMPLOYEE;+----+------------+-----------+--------+| id | first_name | last_name | salary |+----+------------+-----------+--------+|  1 | Zara       | Ali       |   5000 |+----+------------+-----------+--------+1 row in set (0.00 sec)

员工POJO类

要执行读取操作,我们将修改Employee类Employee.java如下 :

public class Employee {   private int id;   private String first_name;    private String last_name;      private int salary;     /* Define constructors for the Employee class. */   public Employee() {}     public Employee(String fname, String lname, int salary) {      this.first_name = fname;      this.last_name = lname;      this.salary = salary;   }   /* Here are the method definitions */   public int getId() {      return id;   }   public String getFirstName() {      return first_name;   }   public String getLastName() {      return last_name;   }   public int getSalary() {      return salary;   }} /* End of Employee *//

Employee.xml文件

要使用iBATIS定义SQL映射语句,我们将添加< select>在Employee.xml文件中标记并在此标记定义中,我们将定义一个"id",它将在IbatisRead.java文件中用于在数据库上执行SQL SELECT查询.

         INSERT INTO EMPLOYEE(first_name, last_name, salary)      values (#first_name#, #last_name#, #salary#)               select last_insert_id() as id                  SELECT * FROM EMPLOYEE   

这里我们没有将WHERE子句与SQL SELECT语句一起使用.我们将在下一章中演示如何在SELECT语句中使用WHERE子句以及如何将值传递给该WHERE子句.

IbatisRead.java文件

此文件具有应用程序级逻辑,用于从Employee表读取记录 :

import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;import java.io.*;import java.sql.SQLException;import java.util.*;public class IbatisRead{   public static void main(String[] args)throws IOException,SQLException{      Reader rd = Resources.getResourceAsReader("SqlMapConfig.xml");      SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd);      /* This would read all records from the Employee table. */      System.out.println("Going to read records.....");      List  ems = (List)         smc.queryForList("Employee.getAll", null);      Employee em = null;      for (Employee e : ems) {         System.out.print("  " + e.getId());         System.out.print("  " + e.getFirstName());         System.out.print("  " + e.getLastName());         System.out.print("  " + e.getSalary());         em = e;          System.out.println("");      }          System.out.println("Records Read Successfully ");   } }

编译并运行

以下是编译和运行的步骤上面提到的软件.在继续进行编译和执行之前,请确保已正确设置PATH和CLASSPATH.

  • 如上所示创建Employee.xml.

  • 如上所示创建Employee.java并进行编译.

  • 如上所示创建IbatisRead.java并编译它.

  • 执行IbatisRead二进制文件以运行程序.

您将得到以下结果,并且将从EMPLOYEE表中读取记录,如下所示;

Going to read records.....   1  Zara  Ali  5000Record Reads Successfully