在mysql資料庫中主鍵id自增後,再次得到資料庫生成的主鍵值。
使用方法如下:
使用keyproperty屬性指定是哪個主鍵字段,同時使用usegeneratedkeys屬性告訴這個主鍵是否使用資料庫內建策略生成。
<?xml version="1.0" encoding="utf-8"?>
乙個學生,對應乙個成績,表 stu有乙個id 列,是 score表的外來鍵,學生和成績之間存在一對一對映的關係,即乙個學生對應成績表中乙個成績。
學生和成績表內容如下:
具體實現:
方法一:
step1:定義寫兩個bean stu 、score
package com.pojo;step5:測試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=#
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...