步骤如下:1,在eclipse中新建一个工程ibatisnew,然后把mysql和ibatis的jar包导入进去。这两个包(ibatis-2.3.4.726.jar+mysql-connector-java-5.0.8-bin.jar)可以从网上下载,直接拷贝到WEB-INF/lib目录下。
2,建立SqlMapConfig.xml文件这个文件包含了数据库的配置,和各个数据表对应的xml的引用部分。
文件名:SqlMapConfig.xml文件内容:<?xml version="1.0" encoding="UTF-8" ?>
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
3,建立SqlMapConfig.xml中引用的User.xml文件,这个文件对应数据库中的user表,在这个文件中可以定义别名,可以写sql语句。
文件名:User.xml文件内容:<?xml version="1.0" encoding="UTF-8" ?>
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
select * from user
4,建立user.xml文件中指定的class的文件这个文件就是一个javabean,和数据库的表的字段相对应,有set和get方法。
文件名;User.java文件内容:package test_ibatis;
import java.sql.Date;
public class User { @Override public String toString() { // TODO Auto-generated method stub String str = "id = " + this.id; str += " name = " + this.name; str += " birthday = " + this.birthday; str += " money = " + this.money; return str; }
private int id; private String name; private Date birthday; private float money;
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 Date getBirthday() { return birthday; }
public void setBirthday(Date birthday) { this.birthday = birthday; }
public float getMoney() { return money; }
public void setMoney(float money) { this.money = money; }}
5,建立DAO程序和实现程序接口名:IUserDAO.java内容:package test_ibatis;
import java.util.List;
public interface IUserDAO { public List getAllUser();}
实现类:IUserDAOImpl.java内容:package test_ibatis;
import java.io.IOException;import java.io.Reader;import java.sql.SQLException;import java.util.List;
import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class IUserDAOImpl implements IUserDAO {
private static SqlMapClient client = null; static { try { Reader reader = Resources.getResourceAsReader("test_ibatis/SqlMapConfig.xml"); client = SqlMapClientBuilder.buildSqlMapClient(reader); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public List getAllUser() { // TODO Auto-generated method stub try { return client.queryForList("selectAllUsers"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }}
1,实现类中要使用ibatis提供的功能,先从xml文件中读取配置,构造SqlMapClient的对象。2,具体的实现方法,通过调用SqlMapClient提供的方法,指定xml中的id即可执行对应的sql,并返回结果。
6,测试class文件名:UserDAO.java文件内容:package test_ibatis;
public class UserDAO {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub IUserDAO dao = new IUserDAOImpl(); for (User user : dao.getAllUser()) { System.out.println(user); }