一、用到的实体类如下 :
학생. 자바
패키지 com.company.entity; java.io.serializable import; import java.util.date; 공개 클래스 학생은 시리얼이즈 가능 {개인 정적 최종 긴 SerialversionUID = 1L을 구현합니다. 개인 int ID; 개인 문자열 이름; 사적인 날짜 출생; 개인 그룹 그룹; 공개 그룹 GetGroup () {반환 그룹; } public void setGroup (Group Group) {this.group = Group; } public int getId () {return id; } public void setid (int id) {this.id = id; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } 공개 날짜 getBirth () {return birth; } public void setBirth (날짜 출생) {this.birth = birth; } @override public String toString () {return "return"student [birth = " + birth +", group = " + group +", id = " + id +", name = " + name +"]; }}group.java
패키지 com.company.entity; Java.util.list 가져 오기; 공개 클래스 그룹 {private int id; 개인 문자열 이름; 개인 문자열 위치; 개인 목록 <tudent> 학생; 공개 목록 <tudent> getstudents () {반품 학생; } public void setStudents (list <tudent> 학생) {this.students = 학생; } public int getId () {return id; } public void setid (int id) {this.id = id; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public String getPosition () {리턴 위치; } public void setPosition (문자열 위치) {this.position = 위치; } @override public String toString () {return "group [id =" + id + ", name =" + name + ", 위치 =" + position + "]; }}二、实体对应的表结构
학생 表 :
테이블 학생 (ID int 기본 키, 이름 varchar (20), 생년월일, Group_id int 참조 G_GROUP (G_ID));
g_group 表 :
테이블 생성 g_group (g_id int 기본 키, G_Name Varchar (20), G_Position varchar (30));
순서:
Sequence Student_id_Sequence 만들기; 시퀀스 Group_id_Sequence 생성;
三、 학생 的映射文件如下 그룹 和 和 和, 你可以在映射文件中找到, 关于 mybatis 的增删改查操作, mybatis 调用存储过程, mybatis 分页以及 mybatis 对一对一、多对多的处理
xml , ,, 看的时候配合下面的具体实现看, 虽然有点乱
학생 .xml
<? xml version = "1.0"alcoding = "utf-8"?> <! doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd "> <mapper namespace ="com.company.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao. mybatis 缓存-> <cache evicict = "lru"flushinterval = "600000"size = "1024"readonly = "false" /> <!-sql 标签用来定义一些可以被重用的 sql 语句或字段或片段等-> <sql id = "studentcolumns"> select id, name, birth < /sql> <!-此处获得多对一的关系, r 所以一对一的写法跟此相同-<resultmap type = "". id = "getStudentAndGroup"> <id column = "id"속성 = "id"/> <result column = "name"propertion = "name"속성 = "이름"/> <결과 열 = "birth"property = "birth"/> <accound property = "group"column = "group_id"javatype = "group"> <id column = "g_id"property = "id"id "guct" 열 = "g_position"property = "position"/> </asshemap> </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 g_group g. = #{id} </select> <!-意图是获得一个学生, 并且获得该学生所属的组, 跟上面的意思差不多, 用 用 用 用 用 的 的 的 的-> <!-于上面的相比个人感觉上面的效率要高些 于上面的相比个人感觉上面的效率要高些-> <resultmap type = "wident"id = "getstudentandGroupusEselectMap"> <id column = "id"property = "id"/> <name "" "/>/>/>/>/>/>. 속성 = "birth"/> <ancociation 속성 = "그룹"열 = "group_id"javatype = "group"select = "selectGroup"/> </resultMap> < "getStudEndandGroupUseLect"resultMap = "getStudEndAndArpUsElectMap"ParameRtype = "int"> select * <select> </select " resulttype = "group"parametertype = "int"flushcache = "false"usecache = "true"> <!-此处实用缓存-> g_id, g_name 이름으로 g_name, g_name, g_group에서 g_position as g_id = #{id} </select> <!-动态 sql 语句 dynamic sql-> ParameterType = "Student"resultType = "Student"> SELECT *에서 선택 *에서 선택 * <where> <if test = "id! = null"> id> id> 2 </if> <test = "name! = null"> 및 '%g%'</if> </where> </select> <!-mybatis 调用存储过程-> inculdap type = "id id ="id "id" "id"id ""id "id"id "id" "id"id ""id "id" "id"id "id" " <result column = "name"속성 = "이름"/> <결과 열 = "birth"property = "birth"/> </resultmap> <select id = "getAllUser"stateType = "callable"> {콜 get_all_student (#{whitud, mode = out, jdbctype = cursor, javatype = resultSet, resultmap =})} myBatis 向 向 向 向-> <insert id = "add"parameterType = "Student"keyColumn = "id"> <selectKey keyProperty = "id"order = "resultType ="int "> select stu_id_sequence.nextval </selectkey> instin in student (id, name, birth) values (#{{{},#},#}#}) </insert> <!-根据 id 获得学生的信息-> <select id = "getById"parameterType = "int"resultType = "Student"> <refid = "StudentColumns"/> 여기서 id =#{id} </select> <!-此处的实现方法是一个分页的原型, 请查看 istudentDaoimpl.java 中的调用方法-> refid = "StudentColumns"/> id <!-此处是引用了上面预定义好的 sql 语句-> </select> </mapper>以上所述是小编给大家介绍的 mybatis b mybatis 分页、 mybatis 一对多增删改查操作, 希望对大家有所帮助, 如果大家有任何疑问请给我留言, 小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持! 小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!