Hibernate表中外來鍵使用(個人筆記)
(由於這篇文章寫得雜亂無章,隨便參考即可,不建議照做,僅作為本人日常記錄)
1.前端部分
我們的思路是這樣的:做一個登入頁面(login.jsp),登入之後點選“朋友資訊”(已登入頁面main.jsp),就可以進入朋友資訊頁面進行資料修改(friend.jsp)。
1.login.jsp
<formaction="#"method="post">
<table>
<tr><td>使用者名稱:</td><td><inputtype="text"/></td></tr>
<tr><td>密碼:</td><td><inputtype="password"/></td></tr>
<tr><tdcolspan="2"><inputtype="submit"value="註冊"/></td></tr>
</table>
</form>
2.main.jsp
<body>
主頁面
<br/>
<br/>
<ahref="${pageContext.request.contextPath}/login.jsp"
>登入</a><ahref="${pageContext.request.contextPath}/friend.jsp">朋友頁面</a>
</body>
3.friend.jsp
<formaction="#"method="post">
<table>
<tr><td>姓名:</td><td><inputtype="text"/></td></tr>
<tr><td>電話:</td><td><input
type="text"/></td></tr><tr><tdcolspan="2"><inputtype="submit"value="提交"/></td></tr>
</table>
</form>
2.login提交資訊的實現
要把login.jsp中的表格內容提交,需要設定標籤的name,name的構成是 物件.屬性 ,既然要用到物件,那麼就需要新建javabean(包為model,名為User.java),設定setter&getter方法這裡用的是struts2框架,環境配置方面在前面《struts2的環境配置與簡單登入功能實現》有提到,就不再贅述了。 這裡設定標籤的name屬性
package model;
publicclassUser{
privateint id;//id
privateString name;//使用者名稱
privateString pwd;//使用者密碼
publicint getId(){
return id;
}
publicvoid setId(int id){
this.id = id;
}
publicString getName(){
return name;
}
publicvoid setName(String name){
this.name = name;
}
publicString getPwd(){
return pwd;
}
publicvoid setPwd(String pwd){
this.pwd = pwd;
}
}
至於這個表格要提交到什麼位置呢,action="${pageContext.request.contextPath}/user/check"我們這裡把它提交到user下的check
/user/check怎麼定位呢,首先需要配置struts.xml
<includefile="user.xml"></include>表示引入user.xml檔案,這樣做的好處就是便於分工開發。 配置user.xml檔案內容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constantname="struts.devMode"value="true"/>
<packagename="all"namespace="/"extends="struts-default">
<global-results>
<resultname="main">/main.jsp</result>
</global-results>
</package>
<includefile="user.xml"></include>
</struts>
這裡指到了action.UserAction,所以我們先把UserAction這個類寫好(在action包中) UserAction內容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<packagename="user"namespace="/user"extends="all">
<actionname="*"class="action.UserAction"method="{1}">
</action>
</package>
</struts>
把javabean類寫進去,設定setter&getter方法 這裡的action方法為add,但是要注意返回值得為String ,而且引數列表不可以有內容,這是硬格式。(publicString 方法名(){)
package model;
publicclassUserAction{
privateUser user;
publicUser getUser(){
return user;
}
publicvoid setUser(User user){
this.user = user;
}
//新增使用者的方法
publicString add(){
returnnull;
}
}
這裡指明hibernate的對映類為model.User。 <propertyname="hbm2ddl.auto">update
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<propertyname="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<propertyname="hibernate.connection.url">jdbc:mysql://localhost:3306/foreignTest</property>
<propertyname="hibernate.connection.username">root</property>
<propertyname="hibernate.connection.password">123456</property>
<propertyname="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<propertyname="hibernate.show_sql">true</property>
<propertyname="hbm2ddl.auto">update</property>
<!--<mapping resource="model/Student.hbm.xml"/> 舊的對映方式-->
<mappingclass="model.User"/>
</session-factory>
</hibernate-configuration>
相關推薦
Hibernate表中外來鍵使用(個人筆記)
(由於這篇文章寫得雜亂無章,隨便參考即可,不建議照做,僅作為本人日常記錄) 1.前端部分 我們的思路是這樣的:做一個登入頁面(login.jsp),登入之後點選“朋友資訊”(已登入頁面main.jsp),就可以進入朋友資訊頁面進行資料修改(friend
資料庫表中外來鍵的建立
** Can’t create table ‘.\xyrensheju#sql-710_6.frm’ (errno: 150) ** 我建立外來鍵時,得到了這個錯誤,我對錶和欄位檢查了又檢查,始終沒有發現問題出現在哪裡,百度了很多下,終於找到了解決的辦法,是我的主表的複合主鍵索引沒
django中外來鍵關聯表的查詢隨筆
django中,如果一個數據庫中的表之間有外來鍵的話可以方便的通過一個表查詢到其相關表的資料。如有下面三個model:class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextFie
mysql 檢視某個庫中的一個表是哪些表的外來鍵
#檢視資料庫所有表 1 SELECT tba.TABLE_NAME&n
Django中外來鍵使用詳解
在寫專案的過程中我們不可避免的會使用到外來鍵這個東西,那麼Django中是怎樣來使用外來鍵的呢? 瞭解外來鍵 在MySQL中,表有兩種引擎,一種是InnoDB,另外一種是myisam。如果使用的是InnoDB引擎,是支援外來鍵約束的。外來鍵的存在使得ORM框架在處理表關係的時候異常的
解決mybatis註解開發時兩表在一個方法裡面新增,一個表自動生成的主鍵作為另一個表的外來鍵新增的問題
1、mapper層裡的方法上添加註解: 實體類屬性:cExperimentaltaskid(id) 表字段:c_experimentaltaskid(主鍵id欄位) @Options(useGeneratedKeys = true, keyProperty = "cExperimentalta
EF Core中外來鍵關係的DeleteBehavior介紹(轉自MSDN)
Delete behaviors Delete behaviors are defined in the DeleteBehavior enumerator type and can be passed to the OnDelete fluent API to control whether the de
MySql多對多關係中外來鍵的應用
業務需求:使用者表r_user儲存使用者名稱等資訊。現需要給每個使用者設定工作基地,一個使用者可以有多個工作基地,多個使用者也可以有一個工作基地,即多對多關係。(外來鍵,若有兩個表A,B,C是A的主鍵,而B中也有C欄位,則C就是表B的外來鍵,外來鍵約束主要用來維護兩個表之間資料的一致性) 設計方
查詢某個表的欄位被其他表作為外來鍵
select c.table_name, c.constraint_name, fc.table_name, fc.
查詢主表的主鍵被其他表作為外來鍵參照的SQL
1,查詢主表的主鍵被其他表作為外來鍵參照的SQL select child_cons.constraint_name, child_cons.table_name child_table_name, parent_cons.table_name parent_table, c
Mysql主表與字表關於外來鍵的情況
針對Innodb引擎給學生表新增資料時,如果新增的teacher_id在它的主表中不存在則會存在問題,因此,通過外來鍵進行設定, 使得保證新增的teacher_id都在teacher表的id裡,下面有兩種方法,第一是給已經建立好的表格追加, 第二是在建立的時候設定的。 1.已經建立的表格,通過修
oracle自帶的sql developer匯入dmp表中的問題(筆記 侵刪)
https://blog.csdn.net/lr_lr_lr/article/details/49069907 ps:本地匯入的話 imp zsx1/[email protected] file=“D:\sofa.dmp” full=y ignore=y 上面的@以及後面的資料庫名
MySQL中外來鍵的定義、作用、新增和刪除
1 簡介 在實際開發的專案中,一個健壯資料庫中的資料一定有很好的參照完整性。例如學生檔案和成績單兩張表,如果成績單中有張三的成績,學生檔案中張三的檔案卻被刪除了,這樣就會產生垃圾資料或者錯誤資料。為了保證資料的完整性,將兩張表之間的資料建立關係,因此就需要在成績
navicat設定資料表的外來鍵
所謂的外來鍵其實就是指標例如,t_user有個外來鍵,意思就是t_user中的外來鍵其實指向了外面一個表中的一個欄位t _user設定了外來鍵以後,對於外來鍵school_id的賦值時額取值範圍,必須是在t_school_info中已經存在的,否則賦值失敗注意,外來鍵首先是一
【精華版】mysql建立表(帶外來鍵)
建立department表: create table department( dept_name varchar(20), budget int, descript varchar(20), pr
MySQL中外來鍵設定詳解
例項一: 4.1 CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id) ) TYPE=INNODB; -- type=innodb 相當於 engine=innodb CR
Entity Framework Core 選擇資料表的外來鍵
entityTypeBuilder .HasOne<GeraeteArt>() .WithMany(p => p.Geraete) .HasForeignKe
MySQL刪除所有表的外來鍵約束、禁用外來鍵約束
資料庫的外來鍵雖然能保證資料資料一致性和完整性,但是也一定程度地影響了資料更新的效能。在開發中,我們使用PowerDesigner建立物理資料模型時,為了結構的清晰,增加可讀性,會建立表與表之間的關聯關係。 在實際開發中,資料庫中一般不會存在外來鍵,阿里的
資料庫中外來鍵屬性的設定
外來鍵的作用: 保持資料一致性,完整性,主要目的是控制儲存在外來鍵表中的資料。 使兩張表形成關聯,外來鍵只能引用外表中的列的值! 例如: a b 兩個表 a表中存有 客戶號,客戶名稱 b表中存有 每個客戶的訂單 有了外來
MYSQL通過sql命令新增表間外來鍵
表結構: 表1 : TCar id name price factureid 表2 : TFactureid id name accountnumber sql語句:alter table tcar add constraint fk_tcar_tfac