ibatis学习笔记(1)--环境搭建和CRUD

1.准备jar包:


2.配置文件:

 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/qtech/xml/SqlMap.properties"/>
	<transactionManager type="JDBC">
		<dataSource type="SIMPLE">
			<property name="JDBC.Driver" value="${driver}" />
			<property name="JDBC.ConnectionURL" value="${url}" />
			<property name="JDBC.Username" value="${username}" />
			<property name="JDBC.Password" value="${password}" />
		</dataSource>
	</transactionManager>
	<sqlMap resource="com/qtech/xml/Student.xml" />
</sqlMapConfig>

<properties resource="com/qtech/xml/SqlMap.properties"/>:指定使用哪个资源文件

SqlMap.properties:

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:NIIT
username=scott
password=tiger
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.qtech.model.Student"/>
	<select id="selectAllStudent" resultClass="Student">
		select * from student
	</select>
</sqlMap>

<typeAlias alias="Student" type="com.qtech.model.Student"/>:指定类名的缩写

<select id="selectAllStudent" resultClass="Student">
select * from student
</select>

表示sql的结果为Student类型,用selectAlllStudent 来标识

简历student表的实体类Student.java

package com.qtech.model;

import java.util.Date;

public class Student {
	private int sid;
	private String sname;
	private String major;
	private Date birth;
	private float socre;

	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 getSocre() {
		return socre;
	}

	public void setSocre(float socre) {
		this.socre = socre;
	}

	@Override
	public String toString() {
		return "sid="+sid+",sname="+sname+",major="+major+",birht="+birth+",socre="+socre;
	}
	
	public static void main(String[] args) {
		System.out.println(new Student());
	}
}

定义各种操作,IStudentDAO.java 和实现类StudentDAOImpl.java

package com.qtech.dao;

import java.util.List;

import com.qtech.model.Student;

public interface IStudentDAO {
	public void addStudent(Student student);
	public void addStudentBySequence(Student student);
	public void deleteStudentById(int id);
	public void updateStudent(Student student);
	public List<Student> queryAllStudent();
	public List<Student> queryStudentByName(String name);
	public Student queryStudentById(int id);
}

package com.qtech.dao.impl;

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;
import com.qtech.dao.IStudentDAO;
import com.qtech.model.Student;

public class StudentDAOImpl implements IStudentDAO {
	
	private static SqlMapClient sqlMapClient = null;
	static{
		try {
			Reader reader = Resources.getResourceAsReader("com/qtech/xml/SqlMapConfig.xml");
			sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

	public void addStudent(Student student) {
		// TODO Auto-generated method stub
		
	}

	public void addStudentBySequence(Student student) {
		// TODO Auto-generated method stub
		
	}

	public void deleteStudentById(int id) {
		// TODO Auto-generated method stub
		
	}

	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;
	}

	public Student queryStudentById(int id) {
		// TODO Auto-generated method stub
		return null;
	}

	public List<Student> queryStudentByName(String name) {
		// TODO Auto-generated method stub
		return null;
	}

	public void updateStudent(Student student) {
		// TODO Auto-generated method stub
		
	}
}

test类:

@Test
	public void testQueryAllStudent() {
			IStudentDAO dao = new StudentDAOImpl();
			List<Student> students = dao.queryAllStudent();
			for(Student student : students){
				System.out.println(student);
		}
	}

测试结果:
sid=1,sname=suhao,major=网络工程,birht=Tue Apr 22 10:12:18 CST 2014,socre=0.0
sid=2,sname=suhao2,major=网络工程,birht=Tue Apr 22 11:19:59 CST 2014,socre=0.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值