国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java mybatis框架實現多表關系查詢功能

java mybatis框架實現多表關系查詢功能

2022-02-20 11:57Mvct Java教程

這篇文章主要介紹了java mybatis框架實現多表關系查詢,基于Maven框架的整體設計 —— 一多一的關系,文中通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

基于Maven框架的整體設計 ―― 一多一的關系

java mybatis框架實現多表關系查詢功能

思路:導入mybatis、mysql、Junit4.13依賴;

編寫兩個java實體類;

編寫sqMapConfig.xml mybatis核心配置文件

編寫dao層接口;

編寫mapper 映射文件;

編寫測試類。

 

1.導入相關依賴

<!--配置依賴-->
<dependencies>
  <!--配置mybatis-->
  <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.2</version>
  </dependency>

  <!--配合mysql-->
  <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.47</version>
  </dependency>

  <!--配置單元測試-->
  <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13</version>
  </dependency>
</dependencies>

 

2.編寫兩個java實體類;

Students

package com.mybatis.pojo;


public class Students {

  private Integer sid;
  private String sName;
  private Integer sCid;
  private Cards cards;   //  一多一的關系


  public Integer getSid() {
      return sid;
  }

  public void setSid(Integer sid) {
      this.sid = sid;
  }

  public String getsName() {
      return sName;
  }

  public void setsName(String sName) {
      this.sName = sName;
  }

  public Integer getsCid() {
      return sCid;
  }

  public void setsCid(Integer sCid) {
      this.sCid = sCid;
  }

  public Cards getCards() {
      return cards;
  }

  public void setCards(Cards cards) {
      this.cards = cards;
  }

  @Override
  public String toString() {
      return "Students{" +
              "sid=" + sid +
              ", sName='" + sName + '\'' +
              ", sCid=" + sCid +
              ", cards=" + cards +
              '}';
  }
}

Cards

package com.mybatis.pojo;

public class Cards {

  private Integer cid;
  private String cnum;

  public Integer getCid() {
      return cid;
  }

  public void setCid(Integer cid) {
      this.cid = cid;
  }

  public String getCnum() {
      return cnum;
  }

  public void setCnum(String cnum) {
      this.cnum = cnum;
  }

  @Override
  public String toString() {
      return "Cards{" +
              "cid=" + cid +
              ", cnum='" + cnum + '\'' +
              '}';
  }
}

 

3.編寫sqMapConfig.xml mybatis核心配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

  <!--
  配置外部文件properties文件
  -->
  <properties resource="jdbc.properties"></properties>

  <!--配置實體類相對路徑 別名-->
  <typeAliases>
      <typeAlias type="com.mybatis.pojo.Students" alias="Stu"></typeAlias>
      <typeAlias type="com.mybatis.pojo.Cards" alias="Car"></typeAlias>
  </typeAliases>

  <!--配置mybatis環境-->
  <environments default="mybatis">
      <environment id="mybatis">
          <transactionManager type="jdbc"></transactionManager>
          <dataSource type="pooled">
              <property name="driver" value="${jdbc.driver}"></property>
              <property name="url" value="${jdbc.url}"></property>
              <property name="username" value="${jdbc.username}"></property>
              <property name="password" value="${jdbc.password}"></property>
          </dataSource>
      </environment>
  </environments>

  <!--
  配置mapper.xml映射文件
  resource:相對路徑
  -->
  <mappers>
      <mapper resource="com.mybatis.dao/studentsDao.xml"></mapper>
      <mapper resource="com.mybatis.dao/CardsDao.xml"></mapper>
      <!--<package name="com.mybatis.dao"></package>-->
  </mappers>
</configuration>

 

4.編寫dao層接口;

package com.mybatis.dao;

import com.mybatis.pojo.Students;

import java.util.List;

public interface StudentsDao {

  // 查詢學生信息以及對應的身份證信息
  public List<Students> findAll();
}

還有一個略了;

 

5.編寫mapper 映射文件;

StudentsDao.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">
<!--namespace 值是dao層對應的接口-->
<mapper namespace="com.mybatis.dao.StudentsDao">

  <!--
  配置實體類字段與數據庫字段一致
  -->
  <resultMap id="stuMap" type="Stu">
      <id property="sid" column="sid"></id>
      <result property="sName" column="sname"></result>
      <result property="sCid" column="scid"></result>
      <association property="cards" resultMap="com.mybatis.dao.CardsDao.cardsMap"></association>
  </resultMap>

  <!--
  查詢學生信息以及對應的身份證信息
  resultMap:實體類與數據庫映射的數據類型
  -->
  <select id="findAll" resultMap="stuMap">
      select s.sname,c.cnum from students s,cards c where s.scid=c.cid;
  </select>
</mapper>

CardsDao.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">
<!--namespace 值是dao層對應接口的權限定名-->
<mapper namespace="com.mybatis.dao.CardsDao">
  <!--配置實體類字段與數據庫一致-->
  <resultMap id="cardsMap" type="car">
      <!--
      property:實體字段
      column:數據庫字段
      -->
      <id property="cid" column="cid"></id>
      <result property="cnum" column="cnum"></result>
  </resultMap>
</mapper>

 

6.編寫測試類

import com.mybatis.dao.StudentsDao;
import com.mybatis.pojo.Students;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class TestMybatis {

  InputStream resource;
  SqlSession session;
  StudentsDao stuDao;
  @Before  // 在test方法之前執行
  public void init() throws IOException {

      // 加載核心配置文件
      resource = Resources.getResourceAsStream("sqMapConfig.xml");
      // 創建sqlSessionFactoryBuilder對象
      SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
      // 創建sqlSessionFactory對象
      SqlSessionFactory build = builder.build(resource);
      // 創建Session對象
      session = build.openSession();
      // 執行方法
      stuDao = session.getMapper(StudentsDao.class);

  }
  @After // 在test方法之后執行
  public void close() throws IOException {
      // 關閉資源
      session.close();
      resource.close();
  }

  @Test
  public void test01(){
      List<Students> list = stuDao.findAll();
      for (Students students : list) {
          System.out.println(students);
      }

  }
}

到此這篇關于java mybatis框架實現多表關系查詢的文章就介紹到這了,更多相關java mybatis多表關系查詢內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/vctM/p/15407045.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 狠狠操狠狠干 | 久久aⅴ国产欧美74aaa | 日韩在线不卡 | 成年人免费看 | www.99re| 欧美中文在线 | www.欧美视频 | 午夜影晥| 亚洲午夜网 | 天天操天天干视频 | 国产一区二区在线播放 | 久久99精品国产麻豆婷婷洗澡 | 亚洲视频欧美视频 | 成人精品鲁一区一区二区 | 国产精品久久久久久久浪潮网站 | 午夜影院在线 | 99热婷婷 | 精品午夜久久 | 国产一区二区三区视频 | 欧美日韩激情 | 久久久亚洲国产美女国产盗摄 | 中文字幕人成乱码在线观看 | 久久久夜夜夜 | 亚洲一级黄色 | 国产成人高清精品免费5388 | 黄色一级片一级片 | 亚洲成人免费影院 | 成人福利电影在线观看 | 黄色网免费看 | 在线免费国产 | 亚洲精品国产成人 | 99热热热热 | 亚洲国产精品久久 | 毛片首页 | 亚洲视频在线观看免费 | 午夜免费福利视频 | 亚洲视频区 | 98久9在线 | 免费 | www中文字幕 | 欧美福利在线观看 | 欧美黑人性生活 |