一、用到的实体类如下 :
Student.java
paket com.company.entity; importieren java.io.serializable; import Java.util.date; Schüler der öffentlichen Klasse implementiert serialisierbar {private statische endgültige long serialversionuid = 1l; private int id; privater Zeichenfolge Name; Privatdatum Geburt; Private Group Group; Public Group GetGroup () {Return Group; } public void setGroup (Gruppengruppe) {this.group = Group; } 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 date getBirth () {return birtht; } public void setBirth (Datum Geburt) {this.birth = birth; } @Override public String toString () {return "student [birg =" + birth + ", gruppe =" + gruppe + ", id =" + id + ", name =" + name + "]"; }}Gruppe.java
paket com.company.entity; importieren java.util.list; Public Class Group {private int id; privater Zeichenfolge Name; private Saitenposition; Private List <Student> Studenten; public list <Student> getstudents () {Return Students; } public void setStudents (Liste <Studenten> Studenten) {this.students = Studenten; } 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 getPosition () {return Position; } public void setPosition (String -Position) {this.position = Position; } @Override public String toString () {return "Group [id =" + id + ", name =" + name + ", Position =" + Position + "]"; }}二、实体对应的表结构
Student 表:
Tabellenstudent erstellen (ID int Primärschlüssel, Name Varchar (20), Geburtsdatum, Group_id int Referenzen g_group (g_id));
g_group 表:
TABLE CREATE G_GROUP (G_ID INT Primärschlüssel, g_name varchar (20), g_position varchar (30));
Sequenz:
Sequenz erstellen student_id_sequence; erstellen sequence gruppe_id_sequence;
三、 Student 和 Gruppe 的映射文件如下 , 你可以在映射文件中找到 , 关于 mybatis 的增删改查操作 , mybatis 调用存储过程 , mybatis 分页以及 mybatis 对一对一、多对多的处理
xml 文件中都标有注释 , 看的时候配合下面的具体实现看 , 虽然有点乱
student.xml
<? <!-mybatis 缓存-> <cache eviction = "lRU" fluschInterval = "600000" size = "1024" readonly = "false" /> <!- id = "getStudentandGroup"> <id column = "id" Property = "id"/> <resultal column = "name" Eigenschaft = "name"/> <resultal column = "birth" property = "birth"/> <Assoziation Eigenschaft = "Gruppe" column = "Group_id" javatype = "Gruppe"> <id column = "g_id" probium = "id"/> <sergebnisse column = "g_position" property = "Position"/> </assoziation> </resultMap> <select id = "Viele2one" resultMap = "getStudentandGroup" ParameterType = "int"> S.Id, S.Name, S.Birth, S.group, G.G.g.g.g_name. S.Id = #{id} </select> <!-意图是获得一个学生 , 并且获得该学生所属的组 , 跟上面的意思差不多, 用 Assoziation 的 select 属性-> <!-于上面的相比个人感觉上面的效率要高些 , 因为上面只有一条 sql 语句-> <resultmap type = "student" id = "getstudentandGroupUSeSectMap" id Column = "id" id "id" id "id" id "/> <sergebnisse Property = "Birth"/> <Assoziation Eigenschaft = "Gruppe" column = "Group_id" javatype = "Group" select = "selectGroup"/> </resultMap> <select id = "getStudentandGroupUSSELECT" resultMap = "getStudentandGroupUseSectMP" ParameterType = "selectMap =" Ausgewählte id = # # # # # # # #"> int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int"> Int "> Int. resultType="Group" parameterType="int" flushCache="false" useCache="true"><!-- 此处实用缓存 --> select g_id as id, g_name as name, g_position as position from g_group where g_id = #{id} </select> <!-- 动态sql语句 的测试dynamic sql--> <select id="getStudentBySomeCondition" parameterType = "student" resultType = "student"> select * aus student <Wow> <if test = "id! = null"> id> 2 </if> <if test = "name! <result column="name" property="name"/> <result column="birth" property="birth"/> </resultMap> <select id="getAllUser" statementType="CALLABLE" > {call get_all_student(#{students ,mode=OUT, jdbcType=CURSOR, javaType=ResultSet, resultMap=studentMap} )} </select> <!-- MyBatis向student表中插入一条数据 --> <insert id="add" parameterType="Student" keyColumn="id"> <selectKey keyProperty="id" order="BEFORE" resultType="int"> select stu_id_sequence.nextval from dual </selectKey> insert into student(id,name,birth) values(#{id},#{name},#{birth}) </insert> <!-- 根据id获得学生的信息 --> <select id="getById" parameterType="int" resultType="Student"> <include refid="studentColumns"/> where id=#{id} </select> <!-- 此处的实现方法是一个分页的原型,请查看IStudentDAOImpl.java中的调用方法 --> <select id="getAllStudent" resultMap="studentMap"> <include refid = "studentColumns"/> bestellen nach id <!-此处是引用了上面预定义好的 sql 语句-> </select> </mapper>以上所述是小编给大家介绍的 mybatis 存储过程、 mybatis 分页、 mybatis 一对多增删改查操作 , 希望对大家有所帮助 , 如果大家有任何疑问请给我留言 , 小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持! 小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持! 小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!