一、用到的实体类如下 :
Студент. Ява
Пакет com.company.entity; импортировать java.io.serializable; импортировать java.util.date; Ученик открытого класса реализует сериализуемые {частный статический окончательный длинный сериал -версиид = 1L; частный INT ID; Приватное название строки; частная дата рождения; частная группа группа; public Group getGroup () {return Group; } public void setGroup (группа группа) {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 Birth; } public void setbirth (дата рождения) {this.birth = рождение; } @Override public String toString () {return "student [rowers =" + birth + ", group =" + group + ", id =" + id + ", name =" + name + "]"; }}Group.java
Пакет com.company.entity; импортировать java.util.list; открытый класс группа {private int id; Приватное название строки; частная строковая позиция; частный список <Tlade> Студенты; public list <toodTuction> getStudents () {return Students; } public void SetStudents (List <toolding> Студенты) {this.students = студенты; } 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 (строковая позиция) {this.position = position; } @Override public String toString () {return "group [id =" + id + ", name =" + name + ", position =" + position + "]"; }}二、实体对应的表结构
студент 表:
Создать таблицу Студент (ID Int Primary Key, имя VARCHAR (20), дата рождения, GROUP_ID int ссылки g_group (g_id));
g_group 表:
Создать таблицу g_group (g_id int Первичный ключ, g_name varchar (20), g_position varchar (30));
последовательность:
Создать последовательность Student_id_sectence; создать последовательность Group_id_sequence;
三、 Студент 和 Группа 的映射文件如下 你可以在映射文件中找到 , 关于 关于 mybatis 的增删改查操作 , mybatis 调用存储过程 , mybatis 分页以及 mybatis 对一对一、多对多的处理
XML 文件中都标有注释 看的时候配合下面的具体实现看 看的时候配合下面的具体实现看 虽然有点乱
Студент.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace = "company.iste.iste.yiste.yiste.yiste.iste.iste.iste.ist. <!-mybatis 缓存-> <cache eviction = "lru" flushinterval = "600000" size = "1024" readonly = "false" /> <!-SQL 标签用来定义一些可以被重用的 SQL 语句或字段或片段等-> <sql id = "StudentColumns"> Select Id, имя, рождение от студента < /sql> <! id="getStudentAndGroup" > <id column="id" property="id"/> <result column="name" property="name"/> <result column="birth" property="birth"/> <association property="group" column="group_id" javaType="Group"> <id column="g_id" property="id"/> <result column="g_name" property="name"/> <result 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 от stuldent s in joint g_group gr S.Id = #{id} </select> <!-意图是获得一个学生 , 并且获得该学生所属的组 , 跟上面的意思差不多, 用 Ассоциация 的 SELECT 属性-> <!-于上面的相比个人感觉上面的效率要高些 , 因为上面只有一条 SQL 语句-> <resultMap type = "Студент" ID = "GetStudentAndGroupusEselectMap"> <id = "id" property = "id"/> <result column = "name" name "> <id =" id "=" id "/> <result column"/"name"/"/" "/"/""/"/" "/"/"/"/""/"/"/""/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/""/"/"/"/"/"/"/"" ID ". property="birth"/> <association property="group" column="group_id" javaType="Group" select="selectGroup" /> </resultMap> <select id="getStudentAndGroupUseSelect" resultMap="getStudentAndGroupUseSelectMap" parameterType="int"> select * from student where id = #{id} </select> <select id="selectGroup" resultType = "group" parameterType = "int" flushCache = "false" usecache = "true"> <!-此处实用缓存-> выберите g_id как id, g_name как имя, g_position как положение из G_Group, где g_id = #{id} </select> <!-动态 sql 语句 的测试 dynamic sql-> <select = "gateSteMite" ParameterType = "student" refultype = "Студент"> select * из студента <где> <if test = "id! = null"> id> 2 </if> <if test = "name! = null"> и назвать «%g%'</if> </where> </select> <!-mybatis 调用存储过程-> <resultmap =" id "ID" ID "ID" "ID" = "ID" = "ID" = "" ID "=" "ID" = "ID" = "" ID "=" "ID" ""? <Результат Column = "name" Property = "name"/> <result column = "wither" property = "rower"/> </resultMap> <select id = "getalluser" atportiontype = "callable"> {call get_all_student (#{студенты, mode = out, jdbctype = cursor, javatype = result, resultmap = selectmap} <///selectmap <///selectmap <///selectmap <///et outdentmapt} <//at etlodemapt} <//selectype = selectmap} </cursor. Mybatis 向 Студент 表中插入一条数据 -> <INSERT ID = "ADD" PARAMETERTYPE = "Студент" keyColumn = "id"> <selectKey keyProperty = "id" order = "перед" resultype = "int"> select stu_id_sectence.nextval от двойного </selectKey> вставка в студент (идентификатор, имя). </insert> <!-根据 ID 获得学生的信息-> <select id = "getById" parameterType = "int" reculatype = "student"> <includ refiD = "studentColumns"/> где id =#{id} </select> <!-此处的实现方法是一个分页的原型 请查看 请查看 in istudentdaoImpl.java 中的调用方法-> <select id = "getAllStud" stactudMAp. refiD = "StudentColumns"/> Порядок ID <!-此处是引用了上面预定义好的 SQL 语句-> </select> </mapper>以上所述是小编给大家介绍的 mybatis 存储过程、 mybatis 分页、 mybatis 一对多增删改查操作 希望对大家有所帮助 希望对大家有所帮助 , , 小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!