Mybatis學習筆記(三)之主鍵回填 一對一對映

2021-09-24 09:29:25 字數 1440 閱讀 6258

在mysql資料庫中主鍵id自增後,再次得到資料庫生成的主鍵值。

使用方法如下:

使用keyproperty屬性指定是哪個主鍵字段,同時使用usegeneratedkeys屬性告訴這個主鍵是否使用資料庫內建策略生成。

<?xml version="1.0" encoding="utf-8"?>

乙個學生,對應乙個成績,表 stu有乙個id 列,是  score表的外來鍵,學生和成績之間存在一對一對映的關係,即乙個學生對應成績表中乙個成績。

學生和成績表內容如下:

具體實現:

方法一:

step1:定義寫兩個bean  stu 、score

package com.pojo;

public class stu

<?xml version="1.0" encoding="utf-8"?>

select s.id,s.clazz_id,s.name,s.***,s.age,c.math,c.english,c.pe from stu s,score c where c.stu_id=s.id and s.id=#

step5:測試

public class testselect 

}

這個方法其實就是把學生成績和其他資訊分別用兩個 resultmap來對應,使用繼承將兩個 resultmap聯絡起來。

方法五:使用巢狀 select 語句step1:在藉口中新定義乙個通過id獲取學生成績的方法getscorebyid

public stu getstudentbyid(int id);

public stu getscorebyid(int id);}

在這種方式中,元素的 select 屬性被設定為 id 為getscorebyid 的語句,用來觸發單獨的 sql 查詢載入成績資訊。id 這一列值將會作為輸入引數傳遞給getscorebyid 語句。

fetchtype="lazy"   延遲載入,即當要使用這條資料時才去載入這條sql語句。

select math,english,pe from score where stu_id=# 

select * from stu where id=#

HIbernate學習筆記2 之 主鍵生成方式

一 hibernate主鍵生成方式 1.常用方式 mysql 自增長生成主鍵 identity 2.常用方式 oracle 序列方式生成主鍵 sequence 序列名 3.常用方式 nateive 根據當前配置的資料庫方言,自動選擇sequence或者identity 序列名 4.其它方式1 cla...

mybatis學習筆記三之mybatis外掛程式

一 外掛程式介紹 一般情況下,開源框架都會提供外掛程式或其他形式的擴充套件點,供開發者自行擴充套件。一是增加了框架的靈活性 二是開發者可以結合實際需求,對框架進行擴充套件。以mybatis為例,我們可基於mybatis外掛程式機制實現分頁 分表 監控等功能,在無形中增強功能。二 mybatis外掛程...

mybatis學習筆記

隨便寫點,先把文章建立了,然後再新增內容。一 最重要的介面類 sqlsessionfactory,從類名上我認為這是乙個工廠類,用來建立sqlsession的例項。同乙個資料庫的連線或資料來源的訪問,可以用同乙個sqlsessionfactory來建立。二 乙個工具類,sqlsessionfacto...