一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜福利院电影 | 欧美成年黄网站色高清视频 | 单亲乱l仑在线观看免费观看 | segou视频在线观看 | 国产成人精品视频一区 | 欧美最猛性xxxxx动态图 | 视频一区国产精戏刘婷30 | 日本xxxx18vr69 | 调教催眠改造np总攻 | 男人的天堂欧美 | 99热在线获取最新地址 | а天堂中文最新版在线官网视频 | 色吊丝每日永久访问网站 | 无限资源在线观看播放 | 视频一区二区 村上凉子 | 国产在线成人a | 亚洲 综合 自拍 精品 在线 | 40分钟在线观看免费 | 国产精品va在线观看不 | 国产自在线观看 | 韩国女主播在线大尺无遮挡 | 男人狂躁女人下面的视频免费 | 国产免费资源高清小视频在线观看 | 日韩小视频在线观看 | yellow视频免费观看播放 | 村上里沙40分钟在线观看 | 欧美日韩国内 | 女生被爆操 | 校园情射 | 精品一区二区三区视频 | 91一个人的在线观看www | 91香蕉国产| 青青草国产免费国产是公开 | 青青草国产精品久久久久 | 無码一区中文字幕少妇熟女H | 女人被男人躁得好爽免费视频 | 91麻豆精品激情在线观看最新 | 亲爱的客栈第二季免费观看完整版 | 天天色踪合 | 国产精品欧美日韩一区二区 | 羞羞色男人的天堂伊人久久 |