zoukankan      html  css  js  c++  java
  • mybatis一对一映射

    1)如图

    2)创建students.sql和cards.sql

    drop table students;
    drop table cards;
    create table cards(
        id    int(5)    primary key,
        num varchar(20)
    );
    create table students(
        id    int(5)    primary key,
        name varchar(10),
        cid int(5),
        constraint cid_fk foreign key(cid) references cards(id)
    );
    insert into cards(id,num) values(1,'111');
    insert into students(id,name,cid) values(1,'哈哈',1);

    3)创建Students.java和Card.java

    public class Card {
        private Integer id;
        private String num;
        private Student student;
        public Card(){}
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
        public String getNum() {
            return num;
        }
        public void setNum(String num) {
            this.num = num;
        }
        public Student getStudent() {
            return student;
        }
        public void setStudent(Student student) {
            this.student = student;
        }
    }
    public class Student {
        private Integer id;
        private String name;
        private Card card;
        public Student(){}
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Card getCard() {
            return card;
        }
        public void setCard(Card card) {
            this.card = card;
        }
    }

    4)创建StudentMapper.xml和CardMapper.xml

     CardMapper.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="cardNamespace">
        <resultMap type="loaderman.one2one.Card" id="cardMap">
            <id property="id" column="id" />
            <result property="num" column="num" />
        </resultMap>
    </mapper>

    StudentMapper.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="studentNamespace">
        <resultMap type="loaderman.one2one.Student" id="studentMap">
            <id property="id" column="id" />
            <result property="name" column="name"/>
            <association property="card" resultMap="cardNamespace.cardMap"/>
        </resultMap>
        <select id="findById" parameterType="int" resultMap="studentMap">
            select s.id,s.name,c.id,c.num
            from students s inner join cards c
            on s.cid = c.id 
            and s.id = #{id}
        </select>
    </mapper>

    5)创建StudentCardDao.java

    public class StudentCardDao {
        /**
         * 查询1号【学生】
         */
        public Student findById(int id) throws Exception{
            SqlSession sqlSession = null;
            try{
                sqlSession = MybatisUtil.getSqlSession();
                return sqlSession.selectOne("studentNamespace.findById",id);
            }catch(Exception e){
                e.printStackTrace();
                throw e;
            }finally{
                MybatisUtil.closeSqlSession();
            }
        }
        public static void main(String[] args) throws Exception{
            StudentCardDao dao = new StudentCardDao();
            Student student = dao.findById(1);
            System.out.println(student.getId()+":"+student.getName());
            System.out.println(student.getCard().getId()+":"+student.getCard().getNum());
        }
    }
  • 相关阅读:
    URAL-1998 The old Padawan 二分
    URAL-1997 Those are not the droids you're looking for 二分匹配
    URAL-1991 The battle near the swamp 水题
    URAL-1989 Subpalindromes 多项式Hash+树状数组
    URAL-1987 Nested Segments 线段树简单区间覆盖
    URAL-1981 Parallel and Perpendicular 水题
    k8s-api
    golang test模块
    k8s-calico
    docker设置proxy
  • 原文地址:https://www.cnblogs.com/loaderman/p/10064562.html
Copyright © 2011-2022 走看看