1. java中映射是什麼
映射簡稱ORMapping
說的直白點就是這樣:
對象在資料庫裡面保存的狀態
比如:把某對象映射到庫里,就是指把對象存儲到資料庫里
大概就是這個意思
如果想了解的更多.,你可以搜索 一些相關的知識
常用的JAVA映射工具如:Hibernate就是我們用的最流行的
2. java鍵值映射,什麼意思
Java鍵值映射是指使用Map集合,來保存Key-value的一堆組合,一個key對應一個value,可以比喻成一間房子對應著唯一的一把鑰匙。
Map提供的鍵值映射機制,可以很好的保存各種數據,完成擴展。
3. java中的映射是怎樣實現的
建議做法如下:
第一,寫一個符合javaBean標準的實體類,類的屬性名稱和類型分別與資料庫的欄位對應,並加上無參構造方法和get、set方法;
第二,使用註解配置映射關系,用@Entity註解該類是一個實體類,用@Table(name = "表名")註解該實體類映射的表名,通過在每一個屬性的get方法上添加@Column(name = "列名")註解該屬性映射的列;
第三,配置主鍵,找出表主鍵映射的那個屬性,用@Id在該屬性的get方法上註解該屬性為Id。(根據具體需要,可能還要做一些更詳細的配置)
參考代碼如下:
importjavax.persistence.Column;
importjavax.persistence.Entity;
importjavax.persistence.Id;
importjavax.persistence.Table;
importorg.hibernate.annotations.Parameter;
/**
*
*用戶
*/
@Entity//說明該類是實體類
@Table(name="USER")//說明該類映射的是表USER
.io.Serializable{
privateStringuserID;//用戶id
privateStringuserName;//用戶名稱
privateStringloginName;//登錄名稱
privateStringpassword;//密碼
privateIntegerstatus;//狀態
privatejava.util.DatelastLoginTime;//上次登錄時間
privatejava.util.DateregTime;//注冊時間
@Id//說明該屬性映射的是表USER的主鍵
@Column(name="UserID",unique=true,nullable=false)
//該屬性映射的是表USER的UserId欄位,非空且唯一
publicStringgetUserID(){
returnthis.userID;
}
publicvoidsetUserID(StringuserID){
this.userID=userID;
}
@Column(name="UserName")
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
@Column(name="LoginName")
publicStringgetLoginName(){
returnthis.loginName;
}
publicvoidsetLoginName(StringloginName){
this.loginName=loginName;
}
@Column(name="Password")
publicStringgetPassword(){
returnthis.password;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
@Column(name="Status")
publicIntegergetStatus(){
returnstatus;
}
publicvoidsetStatus(Integerstatus){
this.status=status;
}
@Column(name="LastLoginTime")
publicjava.util.DategetLastLoginTime(){
returnlastLoginTime;
}
publicvoidsetLastLoginTime(java.util.DatelastLoginTime){
this.lastLoginTime=lastLoginTime;
}
@Column(name="RegTime")
publicjava.util.DategetRegTime(){
returnregTime;
}
publicvoidsetRegTime(java.util.DateregTime){
this.regTime=regTime;
}
@Override
publicinthashCode(){
intprime=0;
prime+=this.getUserID().hashCode();
returnprime;
}
@Override
publicbooleanequals(Objectobj){
booleanisEquals=false;
if(obj!=null&&this.getClass()==obj.getClass()){
TUserclazz=(TUser)obj;
if(clazz.getUserID().equals(this.getUserID()))
isEquals=true;
returnisEquals;
}
returnisEquals;
}
}
4. java web 中映射有什麼用。。比如學校和人 1對多實現後有什麼功能。
你應該說的是HIBERNATE中的映射吧。
在hibernate中,實現這咱映射完全是方便業務關系的處理。對資料庫沒有任務影響。比如說在沒有映射之前,你要刪除一個人,那麼和他有有關系的兩個職位是不會刪除的,或者說你刪除職位,對這個人也沒有任何影響。
假如說你現你在業務層有這樣一種需求,那就是如果刪除一個人,那麼對應的2個職位也要刪除。這時如果不做映射的話你至少要進行兩次刪除操作,一次刪除人,一次刪除職位。如果用Hibernate做了映射的話那麼你只要刪除這個人就可以了,hibernate會幫跟據你的配置幫你刪除與其對應的兩個職位。
多對多也是一樣的。做這樣的映射就是方便對源數據做操作時關聯到相應的其他數據。詳細的操作(增刪查改)讓hibernate封裝起來了。隨然你只做了一個刪除人的操作,但Hibernate的底層最終會分解成多個刪除操作。本質還是先刪除一個人再刪除2兩職位。Hibernate只是兩這兩個過程合為一步了,當然這個過程的兩個實體是有聯系的,也就是你人為的實現一對多,多對多的配置。
注意這個和表的關系沒有必然的聯系。比如人和職位沒有主外鍵的任何關系,只要你實現了一對多,多對多的配置同樣也可以進行級聯操作。
5. JAVA中反射是什麼
JAVA中反射是動態獲取信息以及動態調用對象方法的一種反射機制。
Java反射就是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意方法和屬性;並且能改變它的屬性。而這也是Java被視為動態語言的一個關鍵性質。
Java反射的功能是在運行時判斷任意一個對象所屬的類,在運行時構造任意一個類的對象,在運行時判斷任意一個類所具有的成員變數和方法,在運行時調用任意一個對象的方法,生成動態代理。
(5)java中映射擴展閱讀:
JAVA中反射實例:
1、Class superClass=clazz.getSuperclass();//獲取父類。
System.out.println("getSuperclass:"+superClass)。
2、Class[] interfaces=clazz.getInterfaces();//獲取實現介面。
System.out.println("getInterfaces:"+interfaces.length)。
3、Constructor[] cons=clazz.getConstructors();//構造方法。
System.out.println("getConstructors:"+cons.length)。
參考資料來源:網路: JAVA反射機制
6. java中的映射是什麼意思
簡單的說就是把一個資料庫表裡的欄位和一個java類里的屬性對應起來,讓程序知道這個java類里的這個屬性應該是資料庫哪個表裡的哪個欄位。