Mybatis入门(三)——实例(一)

Mybatis入门(三)

数据库

public class Student {

    private String sno;
     public String getSno() {
        return sno;
    }
    public void setSno(String sno) {
        this.sno = sno;
    }
    public String getsName() {
        return sName;
    }
    public void setsName(String sName) {
        this.sName = sName;
    }
    public String getsSex() {
        return sSex;
    }
    public void setsSex(String sSex) {
        this.sSex = sSex;
    }
    public String getsAge() {
        return sAge;
    }
    public void setsAge(String sAge) {
        this.sAge = sAge;
    }
    public String getsDept() {
        return sDept;
    }
    public void setsDept(String sDept) {
        this.sDept = sDept;
    }
    public String sName;
     public String sSex;
     public String sAge;
     public String sDept;
     public String getcId() {
        return cId;
    }
    public void setcId(String cId) {
        this.cId = cId;
    }
    private String cId;
    public Student(String sno, String sName, String sSex, String sAge,
            String sDept,String cId) {
        super();
        this.sno = sno;
        this.sName = sName;
        this.sSex = sSex;
        this.sAge = sAge;
        this.sDept = sDept;
        this.cId=cId;
    }
    public Student() {
        super();
    }
    @Override
    public String toString() {
        return "Student [sno=" + sno + ", sName=" + sName + ", sSex=" + sSex
                + ", sAge=" + sAge + ", sDept=" + sDept + ", cId=" + cId + "]";
    }

}
public class Classes {

    private String cId;
    public String getcId() {
        return cId;
    }
    public void setcId(String cId) {
        this.cId = cId;
    }
    public String getcName() {
        return cName;
    }
    public void setcName(String cName) {
        this.cName = cName;
    }
    private String cName;
    public Classes(String cId, String cName) {
        super();
        this.cId = cId;
        this.cName = cName;
    }
    public Classes() {
        super();
    }
    @Override
    public String toString() {
        return "Classes [cId=" + cId + ", cName=" + cName + "]";
    }

}
public class Teacher {

private String tId;
public String gettId() {
    return tId;
}
public void settId(String tId) {
    this.tId = tId;
}
public String gettName() {
    return tName;
}
public void settName(String tName) {
    this.tName = tName;
}
private String tName;
public Teacher(String tId, String tName) {
    super();
    this.tId = tId;
    this.tName = tName;
}
public Teacher() {
    super();
}
@Override
public String toString() {
    return "Teacher [tId=" + tId + ", tName=" + tName + "]";
}

}
 

实例(一)

查询每个班级及其老师的详细信息。

1.创建ClassTeacher.java

public class ClassTeacher {
private Classes classes;
private List<Teacher> teaList;

public Classes getClasses() {
    return classes;
}
public void setClasses(Classes classes) {
    this.classes = classes;
}
public List<Teacher> getTeaList() {
    return teaList;
}
public void setTeaList(List<Teacher> teaList) {
    this.teaList = teaList;
}
public ClassTeacher( Classes classes, List<Teacher> teaList) {
    super();

    this.classes = classes;
    this.teaList = teaList;
}
public ClassTeacher() {
    super();
}
@Override
public String toString() {
    return "ClassTeacher [ classes=" + classes + ", teaList="
            + teaList + "]";
}
}

2.创建classTeacherMapping.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="com.bean.classTeacherMapping">
    <select id="getClassTeachInfor"  resultMap="getClassTeaches">
        select * from teacher s,classes c,teaches t where s.t_id =t.t_id and c.c_id=t.c_id;
    </select>

    <resultMap type="com.bean.ClassTeacher" id="getClassTeaches">
        <id column="c_id"/>
        <association property="classes" javaType="com.bean.Classes">
            <id property="cId" column="c_id"/>
            <result property="cName" column="c_name"/>

        </association>
        <collection property="teaList" ofType="com.bean.Teacher">
            <id property="tId" column="t_id"/>
            <result property="tName" column="t_name"/>
        </collection>
    </resultMap>
</mapper>

3.查询结果。

String classTeacherMap="com.bean.classTeacherMapping";
        String classTeacherSelect=classTeacherMap+".getClassTeachInfor";
        List<ClassTeacher> ctList=sqlSession.selectList(classTeacherSelect);
        System.out.println(ctList);
时间: 2024-11-13 07:54:52

Mybatis入门(三)——实例(一)的相关文章

mybatis入门(三):mybatis的基础特性

mybatis的知识点: 1.mybatis和hibernate本质区别和应用场景 hibernate:是一个标准的ORM框架(Ojbect relation mapper对象关系映射).入门门槛较高的,不需要程序员写sql, sql语句自动生成了.对sql语句进行优化,修改比较困难. 应用场景: 适用于需求变化不多的中小型项目.比如后台管理,erp,orm,oa.. mybatis:专注于sql本身,需要程序员自己编写sql语句,sql修改,优化比较方便,mybatis是一个不完全的ORM框架

Mybatis入门实例

第一步:创建项目导入jar包 第二步:建表: CREATE TABLE `person` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `NAME` varchar(10) DEFAULT NULL, `GENDER` int(10) DEFAULT NULL, `ADRESS` varchar(50) DEFAULT NULL, `BIRTHDAY` date DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB A

Mybatis最入门---ResultMaps实例篇(一对多查询)

[一步是咫尺,一步即天涯] 接上文,我们来演示在实际开发中,如何配置和使用resultMap实现一对多查询. 准备工作: a.操作系统 :win7 x64 b.基本软件:MySQL,Mybatis,Spring,SQLyog,Tomcat,web基础 特别的,作为演示程序,还请各位看官不要纠结数据库的细节内容 ----------------------------------------------------------------------------------------------

Mybatis 入门之resultMap与resultType讲解实例

resultMap:适合使用返回值是自定义实体类的情况 resultType:适合使用返回值得数据类型是非自定义的,即jdk的提供的类型 resultMap : type:映射实体类的数据类型 id:resultMap的唯一标识 column:库表的字段名 property:实体类里的属性名 配置映射文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-

mybatis入门系列三之类型转换器

mybatis入门系列三之类型转换器 类型转换器介绍 mybatis作为一个ORM框架,要求java中的对象与数据库中的表记录应该对应 因此java类名-数据库表名,java类属性名-数据库表字段名,java类属性类型-数据库字段类型 前面两个都容易设置,但是第三点要求经常会出现java类型和数据库的存储类型不一样, 例如java类型是String,数据库中存储的是char.varchar.text 对于一般常见的类型对应,mybatis已经内部包含了类型转换器,使String类型的java属性

Mybatis入门学习篇(三)之模糊查询的两种写法

在上一讲(Mybatis入门学习篇(二)之基于注解的增删改查)中,需要用到模糊查询,比如我想查找所有含有'zjh'的Student的信息.如果是在数据库中,那么我们可以方便的使用通配符%:select * from student where name like '%zjh%' .但是如果在mybatis中直接像sql中那样,就会报错.遂百度,无果,偶然在一篇帖子中看到,遂记录下来,以备后用. 方法一: 在要查询的字符串合适位置加上%,如这里的'zjh'就应该为'%zjh%'.这是一个很管用的方

MyBatis入门案例 增删改查

一.MyBatis入门案例: ①:引入jar包 ②:创建实体类 Dept,并进行封装 ③ 在Src下创建大配置mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybat

框架 day65 Mybatis入门(基础知识:框架原理,入门[curd],开发dao层,全局与映射配置)

Mybatis 基础知识(一) 第一天:基础知识(重点) mybatis介绍 mybatis框架原理(掌握) mybaits入门程序(掌握) 用户信息进行增.删.改.查 mybatis开发dao层方法:(掌握) 原始dao开发方法(dao接口和实现类需要程序员编写) mapper代理开发方法(程序员只需要编写接口) SqlMapConfig.xml(mybatis全局配置文件)(掌握) mybatis输入映射(掌握) mybatis输出映射(掌握) mybatis动态sql(掌握)   1   

mybatis入门案例分析

mybatis入门案例分析 一.设计模式分析 public class MybatisTest { public static void main(String[] args) throws Exception{ //1.读取配置文件 InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml"); //2.创建SqlSessionFactory工厂 SqlSessionFactoryBuilder builder