本文目錄一覽:
- 1、java如何將一張表的數據映射到另一張表中,兩張表的數據結構完全不同
- 2、怎麼用java來實現數據庫表的關聯,例如一個用戶對應一個表。
- 3、java實現遍歷哈希映射表map的方法匯總
- 4、java中的映射是怎樣實現的?
java如何將一張表的數據映射到另一張表中,兩張表的數據結構完全不同
別,千萬別用程序去控制一張映射表(這張表不是你這個項目用的吧,應該是作為鏡像給別人的吧)
看你這個需求應該是純數據需求,一個觸發器就解決了的事兒,雖說sql可能寫的飄逸些
建議:觸發器解決
怎麼用java來實現數據庫表的關聯,例如一個用戶對應一個表。
用戶表就對應一個用戶的類,你這個用戶類裡面的屬性跟數據庫表裡面的字段一一對應,查詢的時候,查出用戶表中的一條記錄,就對應一個用戶對象啦。
java實現遍歷哈希映射表map的方法匯總
方法/步驟
1、JDK,開發必須的環境
2、IDE,還是推薦Eclipse,如果你的電腦夠快,可以安裝Idea,用過一次,太吃內存,就被拋棄了,但是很多同行都在推薦,聽說很好。
現在開始進入今天的正題,使用Java代碼遍歷Map集合的方法匯總。
1、創建一個Java類,命名為MapTest
2、創建一個Map集合,並定義類型和put值:
3、循環遍歷Map集合的第一種方法,代碼如下:
/**
* 第一種
* foreach循環進行遍歷
* 遍歷的是key值,然後通過get(key)或者值
* key和keyset
*/
private static void firstMethod(HashMapInteger, String map){
System.out.println(“foreach循環進行遍歷”);
for (Integer key : map.keySet()) {
System.out.println(“key:”+key+”對應的值為:”+map.get(key));
}
}
4、通過Iterator遍歷Map集合的第二種方法獲取,代碼如下:
/**
* 第二種
* 通過Iterator遍歷獲取
* 和List的遍歷原理相同
*/
public static void secondMethod(HashMapInteger, String map){
System.out.println(“通過Iterator遍歷獲取”);
IteratorEntryInteger, String inte = map.entrySet().iterator();
while(inte.hasNext()){
Map.EntryInteger, String m = inte.next();
System.out.println(“key:”+m.getKey()+”對應的值為:”+m.getValue());
}
}
5、通過map方法map.entrySet()遍歷獲取值的第三種方法,代碼如下:
/**
* 第三種,通過map方法map.entrySet()遍歷獲取值
*/
public static void thirdMethod(HashMapInteger, String map){
System.out.println(“第三種方式:entry”);
for (EntryInteger, String str : map.entrySet()) {
System.out.println(“key:”+str.getKey()+”對應的值為:”+str.getValue());
}
}
6、通過for循環,map.values()循環遍歷獲取值的第四種方法,代碼如下:
這種方法是直接獲取值,不獲取key值:
/**
* 第四種,通過for循環,map.values()循環遍歷獲取值 直接獲取值
*/
public static void fourthMethod(HashMapInteger, String map) {
System.out.println(“通過map.values()循環遍歷直接獲取值”);
for (String string : map.values()) {
System.out.println(“map的值為:” + string);
}
}
7
7、不管是遍歷Map還是List的,其本質都是獲取對應的值,程序員在開發中可以根據開發場景適當的選擇各種方法,但是理解其本質才是最主要的。
java中的映射是怎樣實現的?
建議做法如下:
第一,寫一個符合javaBean標準的實體類,類的屬性名稱和類型分別與數據庫的字段對應,並加上無參構造方法和get、set方法;
第二,使用註解配置映射關係,用@Entity註解該類是一個實體類,用@Table(name = “表名”)註解該實體類映射的表名,通過在每一個屬性的get方法上添加@Column(name = “列名”)註解該屬性映射的列;
第三,配置主鍵,找出表主鍵映射的那個屬性,用@Id在該屬性的get方法上註解該屬性為Id。(根據具體需要,可能還要做一些更詳細的配置)
參考代碼如下:
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Parameter;
/**
*
* 用戶
*/
@Entity //說明該類是實體類
@Table(name = “USER”)//說明該類映射的是表USER
public class TUser implements java.io.Serializable {
private String userID; // 用戶id
private String userName; // 用戶名稱
private String loginName; // 登錄名稱
private String password; // 密碼
private Integer status; // 狀態
private java.util.Date lastLoginTime; // 上次登錄時間
private java.util.Date regTime; // 註冊時間
@Id//說明該屬性映射的是表USER的主鍵
@Column(name = “UserID”, unique = true, nullable = false)
//該屬性映射的是表USER的UserId字段,非空且唯一
public String getUserID() {
return this.userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
@Column(name = “UserName”)
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Column(name = “LoginName”)
public String getLoginName() {
return this.loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
@Column(name = “Password”)
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
@Column(name = “Status”)
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
@Column(name = “LastLoginTime”)
public java.util.Date getLastLoginTime() {
return lastLoginTime;
}
public void setLastLoginTime(java.util.Date lastLoginTime) {
this.lastLoginTime = lastLoginTime;
}
@Column(name = “RegTime”)
public java.util.Date getRegTime() {
return regTime;
}
public void setRegTime(java.util.Date regTime) {
this.regTime = regTime;
}
@Override
public int hashCode() {
int prime = 0;
prime += this.getUserID().hashCode();
return prime;
}
@Override
public boolean equals(Object obj) {
boolean isEquals = false;
if (obj != null this.getClass() == obj.getClass()) {
TUser clazz = (TUser) obj;
if (clazz.getUserID().equals(this.getUserID()))
isEquals = true;
return isEquals;
}
return isEquals;
}
}
原創文章,作者:WQQ85,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128558.html