一、用到的實體類如下:
Student.java
包com.com.company.entity;導入java.io.serializable;導入java.util.date;公共班級學生實現可序列化{私有靜態最終long serialversionuid = 1L;私人INT ID;私有字符串名稱;私人日期出生;私人小組;公共組getGroup(){返回組; } public void setGroup(group group){this.group = group; } public int getId(){返回ID; } public void setID(int id){this.id = id; } public String getName(){返回名稱; } public void setName(string name){this.name = name; } public Date GetBirth(){返回出生; } public void set -birth(日期出生){this.birth =出生; } @Override public String toString(){返回“學生[berth =“ +出生 +”,group =“ + group +”,id =“ + id +”,name =“ + name +”]”; }}}group.java
包com.com.company.entity;導入java.util.list;公共課程組{私人int ID;私有字符串名稱;私人字符串位置;私人列表<學生>學生; public list <學生> getstudents(){返回學生; } public void setStudents(list <student> student){this.students = student; } public int getId(){返回ID; } public void setID(int id){this.id = id; } public String getName(){返回名稱; } public void setName(string name){this.name = name; } public String getPosition(){返回位置; } public void setPosition(string position){this.position = position; } @Override public String toString(){返回“ group [id =“ + id +”,name =“ + name +”,position =“ + position +”]”; }}}二、實體對應的表結構
學生表:
創建表格學生(ID int主鍵,名稱varchar(20),出生日期,group_id int參考g_group(g_id));
g_group表:
創建表G_group(g_id int primary鍵,g_name varchar(20),g_position varchar(30));
順序:
創建sequence student_id_sequence;創建序列group_id_sequence;
三、學生和組的映射文件如下,你可以在映射文件中找到,關於,關於,關於,mybatis的增刪改查操作,mybatis調用存儲過程,mybatis分頁以及mybatis 對一對一、多對多的處理
xml文件中都標有註釋,看的時候配合下面的具體實現看,雖然有點亂
Student.xml
<? xml版本=“ 1.0”編碼=“ utf-8”? > <! doctype mapper public“ - // mybatis.org//dtd mapper 3.0 // en”“ http://mybatis.org/dtdd/dtd/mybatis-3-mmybatis-3-mmybatis-3-mapper.dtd-mapper.dtd-mapper.dtd” <! - mybatis緩存-> <cache emition =“ lru” flushInterval =“ 600000” size =“ 1024” readonly =“ false” /> <! - sql sql sql sql sql> <sql ID =“ studentColumns”>從學生< /sql < /sql> squl> squl> <! - <! - <! - <! - <! id =“ getStudEntAndGroup”> <id列=“ id”屬性=“ id”/> <結果列=“ name” property =“ name”/> <restarg column="g_position" property="position"/> </association> </resultMap> <select id="many2one" resultMap="getStudentAndGroup" parameterType="int" > select s.id,s.name,s.birth,s.group_id,g.g_id,g.g_name,g.g_position from student s left join g_group g on s.group_id = g.g_id where s.id =#{id} </select> <! - 意圖是獲得一個學生,並且獲得該學生所屬的組,跟上面的意思差不多,用關聯的選擇屬性-> <! - > <! - 於上面的相比個人感覺上面的效率要高些,因為上面只有一條sql語句-> <resultmap type =“ detably” id =“ getStudentAndAndGroupselectselectselectselectMmap”>屬性=“出生”/> <Assicost屬性=“ group” column =“ group_id” javatype =“ group” select =“ selectgroup”/> </rescormap> <select ID =“ getStudentAndAndGroupSelect” resultmap =“ getStudentAndAndGroupselectselectselectsmapselectmap” ResultType =“ group” parameteType =“ int” int“ flushcache =” false“ usecache =” usecache =“ true”> <! - 此處實用緩存->選擇g_id作為id,g_name為name,g_position,g_position,g_group從g_group中g_id =#{id} </id} </id select>> paramEtertype =“ student” resultype =“ student”>從學生<Where> <where> <where> <if test =“ id!= null”> id> id> 2 </if> <if test =“ name!= null”>和類似'%g%'g%'</if> </if> </if> </where> </where> </where> </where> <! <結果列=“ name” property =“ name”/> <結果列=“出生”屬性=“出生”/> </rescommap> <select ID =“ getAlluser” statementtype =“ callable”> {call get_all_student(#{#{sudusper,mode,mode = out,jdbctype = cursor,javatype = cursor,javatype = curse = rescept = rescemp = restect = resutsmap = sustment} </ mybatis向學生表中插入一條數據 - > <insert id =“ add” parameType =“ student” keycolumn =“ id”> <selectkey keyproperty =“ id” order =“ id” order =“ orderty =”'' </插入> <! - 根據id獲得學生的信息-> <select id id =“ getById” parameType =“ int” int'resulttype =“ student”> <include cudid =“ studentColumns”/>其中id =#{id =#{id} </select> <! - 此處的實現方法是一個分頁的原型,此處的實現方法是一個分頁的原型,此處的實現方法是一個分頁的原型,請查看iStudentDaoimpl.java-java-java-java--java--java--java--> <offect in> <select <seption < refid =“ studentColumns”/>通過ID <! - 此處是引用了上面預定義好的sql語句-> </select> </mapper>訂購mybatis mybatis 分頁、 mybatis一對多增刪改查操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持! ,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!