1、工程目录结构:
2、创建了一个javabean:

 
package com.ibatis;
import java.sql.Date;
public class Student {
	//要与数据库中表的字段名称对应
	private int sid = 0;
	private String sname = null;
	private String major = null;
	private Date birth = null;
	private float score = 0;
	
	public int getSid() {
		return sid;
	}
	public void setSid(int sid) {
		this.sid = sid;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public String getMajor() {
		return major;
	}
	public void setMajor(String major) {
		this.major = major;
	}
	public Date getBirth() {
		return birth;
	}
	public void setBirth(Date birth) {
		this.birth = birth;
	}
	public float getScore() {
		return score;
	}
	public void setScore(float score) {
		this.score = score;
	}
	@Override
	public String toString() {
		String content "sid="+sid+"\tsname="+sname+"\tmajor="+major+"\tbirth="+birth+"\tscore="+score;
		return content;
	}
}
3、创建接口IStudentDAO:

 
package com.ibatis;
import java.util.List;
public interface IStudentDAO {
	
	/**
	 * 添加学生信息
	 * @param student
	 */
	public void addStudent(Student student);
	
	/**
	 * 通过序列添加数据
	 * @param student
	 */
	public void addStudentBySequence(Student student);
	
	/**
	 * 删除学生信息
	 * @param id
	 */
	public int deleteStudentById(int id);
	
	/**
	 * 修改学生信息
	 * @param student
	 * @return
	 */
	public void updateStudentById(Student student);
	
	/**
	 * 查询学生信息
	 * @return
	 */
	public List<Student> queryAllStudent();
	
	/**
	 * 模糊查询学生信息
	 * @param name
	 * @return
	 */
	public List<Student> queryStudentByName(String name);
	
	/**
	 * 单独查询某一天数据
	 * @param id
	 * @return
	 */
	public Student queryStudengById(int id);
}
4、实现接口IStudentDAOImpl:

 
package com.ibatis;
import java.io.IOException;
import java.io.Reader;
import java.sql.Date;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.ibatis.sqlmap.client.SqlMapClient;
public class IStudentDAOImpl implements IStudentDAO {
	private static SqlMapClient sqlMapClient = null;
	static{
		try {
			//读取配置文件
			Reader reader = com.ibatis.common.resources.Resources.getResourceAsReader("com/ibatis/SqlMapConfig.xml");
			sqlMapClient = com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(reader);
			reader.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	@Override
	public void addStudent(Student student) {
		
	}
	@Override
	public void addStudentBySequence(Student student) {
		
	}
	@Override
	public int deleteStudentById(int id) {
		
	}
	@Override
	public void updateStudentById(Student student) {
		
	}
	@SuppressWarnings("unchecked")
	@Override
	public List<Student> queryAllStudent() {
		List<Student> studentList = null;
		try {
			studentList = sqlMapClient.queryForList("selectAllStudent");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return studentList;
	}
	@Override
	public List<Student> queryStudentByName(String name) {
		
	}
	@SuppressWarnings("unchecked")
	@Override
	public Student queryStudengById(int id) {
		
	}
	public static void main(String[] agr0) throws  Exception{
		IStudentDAO dao = new IStudentDAOImpl();
		dao.queryAllStudent();
	}
}
4、properties配置文件 SlMap.properties,用于连接数据库的配置

 
driver=oracle.jdbc.driver.OracelDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
username=bank_date
password=bank_date
5、sql语句配置文件,增删改查等操作的sql语句都写在其中,Student.xml

 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
	PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
	"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
    <typeAlias alias="Student" type="com.ibatis.Student"/>
    <select id="selectAllStudent" resultClass="Student">select * from student</select>
</sqlMap>
其中的id值是唯一的;resultClass值表示的是返回的结果类型,并且与alias属性值一致。
6、总的XML文件,SqlMapConfig.xml

 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
	"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
	<properties resource="com/ibatis/SqlMap.properties"/>
	<transactionManager type="JDBC">
		<dataSource type="SIMPLE">
			<property value="$(driver)" name="JDBC.Driver"/>
			<property value="${url}" name="JDBC.ConnectionURL"/>
			<property value="${username}" name="JDBC.Username"/>
			<property value="${password}" name="JDBC.Password"/>
		</dataSource>
	</transactionManager>
	<sqlMap resource="com/ibatis/Student.xml"/>
</sqlMapConfig>
将以上的所有都做好后,运行工程,出现以下问题:
解决方法,将原来的$(driver)改为oracle.jdbc.driver.OracleDriver:

 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
	"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
	<properties resource="com/ibatis/SqlMap.properties"/>
	<transactionManager type="JDBC">
		<dataSource type="SIMPLE">
		    <!-- value="$(driver)"运行时报错,至于原因有待考究 -->
			<property value="oracle.jdbc.driver.OracleDriver" name="JDBC.Driver"/>
			<property value="${url}" name="JDBC.ConnectionURL"/>
			<property value="${username}" name="JDBC.Username"/>
			<property value="${password}" name="JDBC.Password"/>
		</dataSource>
	</transactionManager>
	<sqlMap resource="com/ibatis/Student.xml"/>
</sqlMapConfig>
 
                    
                     
                    
                 
                    
                 


 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号