Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

I.

Domain

Domain adalah package yang dibuat pada project dimana terdiri dari entity class. Entity class adalah java class yang merepresentasikan tabel pada database tradisional (mysql). Java class dibuat sebanyak tabel pada database, yaitu tabel user, post, dan comment. asing ! masing kelas merepresentasikan tabelnya masing"masing beserta relasinya.

"" #ambar relasi antar tabel pada mysql"" $abel user $abel user terdiri dari %ield sebagai berikut&

Java class yang merepresentasikan tabel user adalah &


package org.monjournal.domain; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.OneTo any; import javax.persistence.Ta!le;

"OneTo any#$etch % FetchType.L&'() mapped*y % +user+, private List-.ost/ posts; "OneTo any#$etch % FetchType.L&'() mapped*y % +user+, private List-Follo0ing/ $ollo0ers; pu!lic 1ser#, 23 pu!lic 1ser#4tring pass0ord) 4tring $ull5ame) 4tring pro$ile.icture) int !orn6ate) 4tring email&ddress) 4tring !io, 2 this.pass0ord % pass0ord; this.$ull5ame % $ull5ame; this.pro$ile.icture % pro$ile.icture; this.!orn6ate % !orn6ate; this.email&ddress % email&ddress; this.!io % !io; 3 pu!lic 4tring get1ser5ame#,2 return user5ame; 3 pu!lic void set1ser5ame#4tring user5ame, 2 this.user5ame % user5ame; 3 pu!lic 4tring get.ass0ord#,2 return pass0ord; 3 pu!lic void set.ass0ord#4tring pass0ord, 2 this.pass0ord % pass0ord; 3 pu!lic 4tring getFull5ame#,2 return $ull5ame; 3 pu!lic void setFull5ame#4tring $ull5ame, 2 this.$ull5ame % $ull5ame; 3 pu!lic 4tring get.ro$ile.icture#,2 return pro$ile.icture; 3 pu!lic void set.ro$ile.icture#4tring pro$ile.icture, 2 this.pro$ile.icture % pro$ile.icture; 3 pu!lic int get*orn6ate#,2 return !orn6ate; 3 pu!lic void set*orn6ate#int !orn6ate, 2 this.!orn6ate % !orn6ate; 3

pu!lic 4tring getEmail&ddress#,2 return email&ddress; 3 pu!lic void setEmail&ddress#4tring email&ddress, 2 this.email&ddress % email&ddress; 3 pu!lic 4tring get*io#,2 return !io; 3 pu!lic void set*io#4tring !io, 2 this.!io % !io; 3 pu!lic List-.ost/ get.osts#, 2 return posts; 3 pu!lic void set.ost#List-.ost/ posts, 2 this.posts % posts; 3 pu!lic List-Follo0ing/ getFollo0ers#, 2 return $ollo0ers; 3 pu!lic void setFollo0ers#List-Follo0ing/ $ollo0ers, 2 this.$ollo0ers % $ollo0ers; 3 "Override pu!lic 4tring to4tring#, 2 return +1ser 7user5ame%+ 8 user5ame 8 +) pass0ord%+ 8 pass0ord 8 +) $ull5ame%+ 8 $ull5ame 8 +) pro$ile.icture%+ 8 pro$ile.icture 8 +) !orn6ate%+ 8 !orn6ate 8 +)email&ddress%+8 email&ddress 8 +) !io%+ 8 !io 8 +9+; 3 3

$abel post $abel post terdiri dari %ield sebagai berikut&

Java class yang merepresentasikan tabel post adalah&

package org.monjournal.domain; import java.util.List; import import import import import import import import import javax.persistence.Column; javax.persistence.Entity; javax.persistence.FetchType; javax.persistence.:enerated;alue; javax.persistence.Id; javax.persistence.<oinColumn; javax.persistence. anyToOne; javax.persistence.Ta!le; javax.persistence.OneTo any;

"Entity "Ta!le#name%+post+, pu!lic class .ost 2 "Id ":enerated;alue "Column#name%+postId+, private int postId; "Column#name%+photo+, private 4tring photo; "Column#name%+content+, private 4tring content; "Column#name%+posting6ate+, private int posting6ate; " anyToOne#$etch % FetchType.L&'(, "<oinColumn#name%+user5ame+) re$erencedColumn5ame % +user5ame+, private 1ser user; "OneTo any#$etch % FetchType.L&'() mapped*y % +post+, private List-Comment/ comments; pu!lic .ost#, 2 3 pu!lic .ost#4tring photo) 4tring content) int posting6ate, 2 this.photo % photo; this.content % content; this.posting6ate % posting6ate; 3 pu!lic int get.ostId#,2 return postId; 3

pu!lic 4tring get.hoto#,2 return photo; 3 pu!lic void set.hoto#4tring photo, 2 this.photo % photo; 3 pu!lic 4tring getContent#,2 return content; 3 pu!lic void setContent#4tring content, 2 this.content % content; 3 pu!lic int get.osting6ate#,2 return posting6ate; 3 pu!lic void set.osting6ate#int posting6ate, 2 this.posting6ate % posting6ate; 3 pu!lic 1ser get1ser#, 2 return user; 3 pu!lic void set1ser#1ser user, 2 this.user % user; 3 pu!lic List-Comment/ getComments#, 2 return comments; 3 pu!lic void setComments#List-Comment/ comments, 2 this.comments % comments; 3 "Override pu!lic 4tring to4tring#, 2 return +.ost 7postId%+ 8 postId 8 +) photo%+ 8 photo 8 +) content%+ 8 content 8 +) posting6ate%+ 8 posting6ate 8 +9+; 3 3

$abel comment $abel comment terdiri dari %ield sebagai berikut&

Java class yang merepresentasikan tabel comment adalah&


package org.monjournal.domain; import import import import import import import javax.persistence.Column; javax.persistence.Entity; javax.persistence.FetchType; javax.persistence.:enerated;alue; javax.persistence.Id; javax.persistence.<oinColumn; javax.persistence. anyToOne;

pu!lic void set.ost#.ost post,2 this.post % post; 3 pu!lic 1ser getFrom1ser#,2 return user; 3 pu!lic void setFrom1ser#1ser $rom1ser,2

II.

Repository 'epository adalah package yang dibuat didalam project digunakan untuk mengelompokkan java class yang ber%ungsi data supplier untuk service. asing ! masing tabel (direpresentasikan entity class) memiliki satu inter%ace dan satu java class.

(ser Inter%ace&

package org.monjournal.repository; import org.monjournal.domain.1serdata; pu!lic inter$ace userdata=epository 2 pu!lic 1serdata $ind*y5ame#4tring username,; pu!lic void add1serdata#1serdata userdata,; void edit1ser#4tring username) 4tring pass0ord) 4tring realname)

Java )lass yang mengimplementasikan inter%ace&


package org.monjournal.repository; import org.hi!ernate.4ession; import org.hi!ernate.4essionFactory; import org.monjournal.domain.1serdata; import org.spring$rame0ork.!eans.$actory.annotation.&uto0ired; import org.spring$rame0ork.stereotype.=epository; import org.spring$rame0ork.transaction.annotation.Transactional; "=epository

private 4ession getCurrent4ession#, 2 return sessionFactory.getCurrent4ession#,; 3 "Override pu!lic 1serdata $ind*y5ame#4tring username, 2 >> TO6O &uto?generated method stu! return

*ost Inter%ace&
package org.monjournal.repository; import java.s@l.6ate; import java.util.List; import org.monjournal.domain.1ser.ost; pu!lic inter$ace 1serpost=epository 2 pu!lic 1ser.ost $ind*yId#Integer postAid,;

Java )lass yang mengimplementasikan inter%ace&

package org.monjournal.repository; import java.s@l.6ate; import java.util.List; import org.spring$rame0ork.stereotype.=epository; import org.hi!ernate.4ession; import org.hi!ernate.4essionFactory; import org.monjournal.domain.1ser.ost; import org.spring$rame0ork.!eans.$actory.annotation.&uto0ired; import org.spring$rame0ork.transaction.annotation.Transactional; "=epository pu!lic class 1serpost=epository6* implements 1serpost=epository2 "&uto0ired private 4essionFactory sessionFactory; >>session $actory o!ject private 4ession getCurrent4ession#,2 return sessionFactory.getCurrent4ession#,; 3 "4uppressBarnings#+unchecked+, "Override "Transactional pu!lic List-1ser.ost/ $ind&ll#,2 return #List-1ser.ost/,getCurrent4ession#,.createCuery#+$rom 1ser.ost+,.list#,; 3 "Override pu!lic 1ser.ost $ind*yId#Integer postAid, 2 return #1ser.ost,getCurrent4ession#,.get#1ser.ost.class) postAid,; 3 "Override pu!lic void addpost#1ser.ost user.ost, 2 >> TO6O &uto?generated method stu! getCurrent4ession#,.save#user.ost,; getCurrent4ession#,.$lush#,; 3 "Override pu!lic void edit.ost#int postAid) 4tring username) 4tring post, 2 >> TO6O &uto?generated method stu! 1ser.ost user.ost%$ind*yId#postAid,; i$#user.ostD%null,2 user.ost.set1sername#username,; user.ost.set.ost#post,; getCurrent4ession#,.update#user.ost,; getCurrent4ession#,.$lush#,; 3 else 4ystem.out.println#+TI6&E EETE 111111+,; 3 "Override pu!lic void remove.ost#int postAid,2 1ser.ost userpost%$ind*yId#postAid,; getCurrent4ession#,.delete#userpost,; getCurrent4ession#,.$lush#,; 3

)omment Inter%ace&
package org.monjournal.repository; import java.util.List; import org.monjournal.domain.1ser.ost; import org.monjournal.domain.1sercomment; import org.monjournal.domain.1serdata; pu!lic inter$ace usercomment=epository 2 >> pu!lic 1sercomment $ind*yId#Integer postAid,; pu!lic 1sercomment $ind*yId#Integer commentAid,; pu!lic void addpost#1sercomment usercomment,; void editComment#Integer commentAid) Integer postAid)4tring username)4tring comment,; List-1sercomment/ $ind&ll#,; void removeComment#Integer commentAid,; 3

Java )lass yang mengimplementasikan inter%ace&


package org.monjournal.repository; import java.util.List; import org.hi!ernate.4ession; import org.hi!ernate.4essionFactory; import org.monjournal.domain.1ser.ost; import org.monjournal.domain.1sercomment; import org.monjournal.domain.1serdata; import org.spring$rame0ork.!eans.$actory.annotation.&uto0ired;

"Override pu!lic void editComment#Integer commentAid) Integer postAid)4tring username)4tring comment, 2 >> TO6O &uto?generated method stu! 1sercomment usercomment%$ind*yId#commentAid,; usercomment.setComment#comment,; usercomment.set.ostAid#postAid,; usercomment.set1sername#username,; getCurrent4ession#,.update#usercomment,; getCurrent4ession#,.$lush#,; 3 "Override pu!lic List-1sercomment/ $ind&ll#, 2 return #List-1sercomment/,getCurrent4ession#,.createCuery#+$r om usercomment+,.list#,; 3 "Override pu!lic void removeComment#Integer commentAid, 2 1sercomment usercomment%$ind*yId#commentAid,; getCurrent4ession#,.delete#usercomment,; getCurrent4ession#,.$lush#,; 3 3

III.

Service +ervice adalah package yang dibuat didalam project digunakan untuk mengelompokkan java class yang ber%ungsi melakukan proses bisnis aplikasi, dimana salah satu %ungsinya adalah sebagai data access ke repository, data processing, dan transaction. asing ! masing entity direpresentasikan dengan sebuah inter%ace dan java class. (ser Inter%ace&
package org.monjournal.service; import org.monjournal.domain.1serdata; pu!lic inter$ace 1serdata4ervice 2 pu!lic 1serdata $ind*y5ame#4tring username,; pu!lic void add1serdata#1serdata userdata,; void edit1ser#4tring username) 4tring pass0ord) 4tring realname) 4tring ppApath)4tring email,; 3

Java )lass yang mengimplementasikan inter%ace&


package org.monjournal.service; import org.monjournal.domain.1serdata; import org.monjournal.repository.F; import org.spring$rame0ork.!eans.$actory.annotation.&uto0ired; import org.spring$rame0ork.stereotype.4ervice; "4ervice pu!lic class 1serdata4ervice6* implements 1serdata4ervice2

*ost Inter%ace&
package org.monjournal.service; import java.s@l.6ate; import java.util.List; import org.monjournal.domain.1ser.ost; pu!lic inter$ace 1serpost4ervice 2 pu!lic 1ser.ost $ind*yId#Integer postAid,; pu!lic void addpost#1ser.ost user.ost,; void edit.ost#int postAid)4tring username)4tring post,;

Java )lass yang mengimplementasikan inter%ace&

package org.monjournal.service; import java.s@l.6ate; import java.util.List; import org.monjournal.domain.1ser.ost; import org.monjournal.repository.1serpost=epository; import org.spring$rame0ork.!eans.$actory.annotation.&uto0ired; import org.spring$rame0ork.stereotype.4ervice; "4ervice pu!lic class 1serpost4ervice6* implements 1serpost4ervice2 "&uto0ired private 1serpost=epository userpost=epository; "Override pu!lic List-1ser.ost/ $ind&ll#, 2 return userpost=epository.$ind&ll#,; 3 "Override pu!lic 1ser.ost $ind*yId#Integer postAid, 2 return userpost=epository.$ind*yId#postAid,; 3 "Override pu!lic void addpost#1ser.ost user.ost, 2 >> TO6O &uto?generated method stu! userpost=epository.addpost#user.ost,; 3 "Override pu!lic void edit.ost#int postAid) 4tring username) 4tring post, 2 userpost=epository.edit.ost#postAid) username) 3 "Override pu!lic void remove.ost#int postAid, 2 userpost=epository.remove.ost#postAid,; 3 3

post,;

)omment Inter%ace&
package org.monjournal.service; import java.util.List; import org.monjournal.domain.1ser.ost; import org.monjournal.domain.1sercomment; import org.monjournal.domain.1serdata; pu!lic inter$ace 1sercomment4ervice 2 pu!lic 1sercomment $ind*yId#Integer commentAid,; pu!lic void addcomment#1sercomment usercomment,;

Java )lass yang mengimplementasikan inter%ace&

package org.monjournal.service; import java.util.List; import org.monjournal.domain.1sercomment; import org.monjournal.repository.1serpost=epository; import org.monjournal.repository.usercomment=epository; import org.spring$rame0ork.!eans.$actory.annotation.&uto0ired; pu!lic class 1sercommnet4ervice6* implements usercomment=epository2 "&uto0ired private usercomment=epository usercomment=epository; "Override pu!lic 1sercomment $ind*yId#Integer commentAid, 2 return usercomment=epository.$ind*yId#commentAid,; 3 "Override pu!lic void addpost#1sercomment usercomment, 2 usercomment=epository.addpost#usercomment,; 3 "Override pu!lic void editComment#Integer commentAid) Integer postAid) 4tring username) 4tring comment, 2 usercomment=epository.editComment#commentAid) postAid) username) comment,; 3 "Override pu!lic List-1sercomment/ $ind&ll#, 2 return usercomment=epository.$ind&ll#,; 3 "Override pu!lic void removeComment#Integer commentAid,2 usercomment=epository.removeComment#commentAid,; 3

You might also like