一、用到的实体类如下:
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一对多增删改查操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!