ibatis 輕鬆入門

一、總中的配置文件mysql

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig 
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>

<transactionManager type="JDBC"> <!-- 定義了ibatis的事務管理器有3中(JDBC,JTA,EXTERNAL) -->
<dataSource type="SIMPLE"> <!-- type屬性指定了數據源的連接類型,也有3種類型(SIMPLE,DBCP,JNDI) -->
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost/ibatis" />
<property name="JDBC.Username" value="root" />
<property name="JDBC.Password" value="123" />

</dataSource>
</transactionManager>
<sqlMap resource="com/huwei/model/Student.xml" />
</sqlMapConfig>

 

二、映射文件,ibatis 能夠將sql語句寫在配置文件中sql

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap>
<typeAlias alias="Student" type="com.huwei.model.Student" />
<select id="selectAllStudent" resultClass="Student">
select * from student
</select>
<select id="selectById" parameterClass="int" resultClass="Student">
select * from student where id=#id#
</select>
<insert id="insertStudent" parameterClass="Student">
insert into Student(name,major)
values (#name#,#major#)
</insert>
<delete id="deleteStudentById" parameterClass="int">
delete from Student where id=#id#
</delete>
</sqlMap>

 

三、實體類ide

public class Student {
private int id;
private String name;//名字
private String major;//專業
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
@Override
public String toString() {
return "name="+name+" id="+id+" major="+ major;
}

}

 

四、幾個主要的dao層方法this

public void deleteStudentById(int id) {//根據id刪除學生
try {
sqlMapClient.delete("deleteStudentById",id);
} catch (SQLException e) {
e.printStackTrace();
}

}

@Override
public void addStudent(Student student) {//添加學生
try {
sqlMapClient.insert("insertStudent",student);
} catch (SQLException e) {
e.printStackTrace();
}

}

 

五、目錄結構以下spa

六、ibatis總結hibernate

我的以爲相比於hibernate,ibatis更加容易上手code

相關文章
相關標籤/搜索