ibatis入门与配置

ibatis是一种data mapper,一个映射层,在对象和数据库之间传递数据,并保持两者与映射层本身相独立,ibatis不是直接在类与数据表或字段与列之间进行关联,而是把SQL语句的参数和返回结果映射至类,ibatis是处于类和数据表之间的一个中间层,在类与数据表之间进行灵活映射。下面开始在myeclipse里对ibatis进行配置:在这里我以MySql数据库为例:
1. 首先要下载ibatis的.jar包和mysql的驱动包
2.在Myeclipse新建一个Java工程或者web工程可以,然后将ibatis的.jar包和mysql的驱动包添加到工程里面,如下图:

 

3.新建一个包后,首先先新建一个SqlMap.properties配置文件,名字可以自己取,主要是保存数据链接的内容,在里面写入如下内容(在这里我以我自己的MySql为例:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://172.16.109.125:3306/stu_database
username=root
password=root
4.新建一个SqlMapConfig.xml文件,写入如下内容:

<?xml version="1.0"  ?>
<!DOCTYPE sqlMapConfig      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
    "./sql-map-config-2.dtd">
<sqlMapConfig>
	<properties
		resource="org/link/ibatis/SqlMap.properties" />
	<settings cacheModelsEnabled="true" enhancementEnabled="true"
		lazyLoadingEnabled="true" maxRequests="32" maxSessions="10"
		maxTransactions="5" useStatementNamespaces="false" />
	<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="org/link/ibatis/Student.xml" />
</sqlMapConfig>

 

5.新建Student.xml:

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "./sql-map-2.dtd">
<sqlMap>
	<typeAlias alias="Student" type="org.link.ibatis.Student" />
	<select id="selectAllStudent" resultClass="Student">
		select * from tb_stu
	</select>
	<select id="selectStudentById" parameterClass="String"
		resultClass="Student">
		select * from tb_stu where stu_id=#stu_id#
	</select>
	<insert id="insertStudent" parameterClass="Student">
		insert into
		tb_stu(stu_id,stu_name,stu_chinese,stu_math)
		values(#stu_id#,#stu_name#,#stu_chinese#,#stu_math#)
	</insert>
	<delete id="deleteStudentById" parameterClass="String">
		delete from tb_stu
		where stu_id=#stu_id#
	</delete>
	<update id="updateStudentById" parameterClass="Student">
		update tb_stu
		set
		stu_name=#stu_name#,
		stu_chinese=#stu_chinese#,
		stu_math=#stu_math#
		where stu_id=#stu_id#
	</update>
	<select id="queryStudentByName" parameterClass="String"
		resultClass="Student">
		select stu_id,stu_name,stu_chinese,stu_math from tb_stu
		where stu_name like '%$stu_name$%'
	</select>
</sqlMap>

 

6.新建一个Bean:Student.java

 

package org.link.ibatis; 
public class Student {
	private String stu_id=null;
	private String stu_name=null;
	private double stu_chinese=0;
	private double stu_math=0;
	public String getStu_id() {
		return stu_id;
	}
	public void setStu_id(String stuId) {
		stu_id = stuId;
	}
	public String getStu_name() {
		return stu_name;
	}
	public void setStu_name(String stuName) {
		stu_name = stuName;
	}
	public double getStu_chinese() {
		return stu_chinese;
	}
	public void setStu_chinese(double stuChinese) {
		stu_chinese = stuChinese;
	}
	public double getStu_math() {
		return stu_math;
	}
	public void setStu_math(double stuMath) {
		stu_math = stuMath;
	}
	@Override
	public String toString() {
		String content="stu_id="+stu_id+"\tstu_name="+stu_name+"\tstu_chinese="+stu_chinese+"\tstu_math="+stu_math;
		return content;
	}
	
}

 


7.新建IStudentDAO接口:

 

package org.link.ibatis; 
import java.util.List;
public interface IStudentDAO {
	public void addStudent(Student student);
	public void addStudentBySequence(Student student);
	public void deleteStudentById(String id);
	public void updateStudentById(Student student);
	public List<Student> queryAllStudent();
	public List<Student> queryStudentByName(String name);
	public Student queryStudentById(String id);
}

 
8.新建测试类IStudentDAOImpl

package org.link.ibatis; 
import java.io.Reader; 
import java.util.List; 
import java.util.Vector; 
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(&quot;org/lkh/ibatis/SqlMapConfig.xml&quot;); 
   sqlMapClient=com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(reader); 
   reader.close(); 
  } catch (Exception e) { 
   e.printStackTrace(); 
  } 
} 
@Override 
public void addStudent(Student student) { 
  // TODO Auto-generated method stub 
} 
@Override 
public void addStudentBySequence(Student student) { 
  // TODO Auto-generated method stub 
} 
@Override 
public void deleteStudentById(int id) { 
  // TODO Auto-generated method stub 
} 
@Override 
public List queryAllStudent() { 
  // TODO Auto-generated method stub 
  List studentList=null; 
  try { 
   studentList = sqlMapClient.queryForList(&quot;selectAllStudent&quot;); 
  } catch (Exception e) { 
   // TODO: handle exception 
  } 
  return studentList; 
} 
@Override 
public Student queryStudentById(int id) { 
  // TODO Auto-generated method stub 
  return null; 
} 
@Override 
public List queryStudentByName(String name) { 
  // TODO Auto-generated method stub 
  return null; 
} 
@Override 
public void updateStudentById(Student student) { 
  // TODO Auto-generated method stub 
} 
public static void main(String args[]){ 
  IStudentDAO dao=new IStudentDAOImpl(); 
  /*List student=dao.queryAllStudent(); 
  System.out.println(student);*/ 
  for(Student student:dao.queryAllStudent()){ 
   System.out.println(student); 
  } 
} 
} 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值