iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快。如果不需要太多复杂的功能,iBatis 是能够满足你的要求又足够灵活的最简单的解决方案,现在的iBatis 已经改名为Mybatis 了。
使用Ibatis操作数据库,我们的操作对象依然是student 表,创建语句:
CREATE TABLE student(
ID VARCHAR(5),
name VARCHAR(20),
age int(3),
FM VARCHAR(1),
PRIMARY KEY(ID)
)
创建之后结果如下图:
有了数据库之后,我们同样需要创建一个Student类,以描述该对象。
package NetEase.ibatistest;
public class Student{
private String ID;
private String name;
private int age;
private String FM;
public Student(){
}
public Student(String ID,String name,int age, String FM){
this.ID = ID;
this.name = name;
this.age = age;
this.FM = FM;
}
public void setID(String ID){
this.ID = ID;
}
public String getID(){
return this.ID;
}
public void setname(String name){
this.name = name;
}
public String getname(){
return this.name;
}
public void setage(int age){
this.age = age;
}
public int getage(){
return age;
}
public void setFM(String FM){
this.FM = FM;
}
public String getFM(){
return this.FM;
}
public void display(){
System.out.println(ID + " " + name + " " + age + " " + FM);
}
}
接下来需要配置数据源,我们先准备一个SQLMap.properties文件
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8
username=root
password=snow
接下来配置用于操作数据库的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> <!--这里的sqlMap标签是不能改动为其它标签的,大小写也不能改-->
<typeAlias alias="Student" type="NetEase.ibatistest.Student" />
<insert id="addstudent" parameterClass="Student">
INSERT INTO class.student(ID,name,age,FM)VALUES(#ID#,#name#,#age#,#FM#)
</insert>
<delete id="delstudentbyID" parameterClass="String">
DELETE FROM class.student WHERE ID=#ID#
</delete>
<delete id="delstudentbyname" parameterClass="String">
DELETE FROM class.student WHERE name=#name#
</delete>
<delete id="delallstudent">
DELETE FROM class.student
</delete>
<update id="updatestudent" parameterClass="Student">
UPDATE class.student S