iBATIS
- 定义:iBATIS是 持久层框架,能够在Java等语言中的对象和SQL数据库之间映射,iBATIS更容易更快速,更少的代码构件更好的数据库应用导向.
- 作用:处理SQL映射,需要对SQL和数据库的概念有很好的理解.
设计理念:
1 简单;
2 快速开发;
3 可移植性;
4 独立的接口;
5 开源;优点:
1 支持存储过程;
2 支持内嵌SQL;
3 支持动态SQL;
4 支持O/RM配置:
1 添加iBATIS jar包;(文章末尾有下载地址)
2 导入JDBC驱动;
添加测试类
Employee.java
public class Employee {
private int id;
private String first_name;
private String last_name;
private int salary;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public Employee(){
}
public Employee(String first_name,String last_name,int salary){
this.first_name = first_name;
this.last_name = last_name;
this.salary = salary;
}
}
IbatisInsert.java文件
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class IbatisInsert {
public static void main(String [] args) throws IOException,SQLException{
Reader rd = Resources.getResourceAsReader("SqlMapConfig.xml");
SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd);
System.out.println("starting...");
Employee em = new Employee("sss", "aaa", 15000);
smc.insert("Employee.insert", em);
System.out.println("end...");
}
}
Employee.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 namespace="Employee">
<insert id="insert" parameterClass="Employee">
insert into EMPLOYEE(first_name,last_name,salary)
value(#first_name#,#last_name#,#salary#)
<selectKey resultClass="int" keyProperty="id">
select last_insert_id() as id
</selectKey>
</insert>
</sqlMap>
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>
<settings useStatementNamespaces="true"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/数据库名"/>
<property name="JDBC.Username" value="用户名"/>
<property name="JDBC.Password" value="密码"/>
</dataSource>
</transactionManager>
<sqlMap resource="Employee.xml"/>
</sqlMapConfig>