一、總中的配置文件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