Membuat Website dengan Thymeleaf menggunakan spring boot
Membuat Website dengan Thymeleaf menggunakan spring boot.
Buat Projek.
Pertama kunjungi link http://start.spring.io dimana kita akan men generate file yang akan kita gunakan nanti.
Setelah di klik generate Kemudian download file tersebut setelah itu extrat file tersebut.
Sebelum mengerjakan projek, siapkan dlu m2. Nya
Kemudian buka aplikasi netbeans lalu open projek file yang kita generate tadi.
Jika sudah di buka maka buatkan 3 package yaitu ( controller, dao, dan entity )
Di entity buatkan 2 class baru, disini kita akan membuat tabel Atasan dan Pegawai.
Script class Atasan.java
package idris.com.UTS_PFA.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.annotations.GenericGenerator;
@Entity
public class Atasan {
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Column(nullable=false, unique=true, length = 10)
private String nama;
@Column(nullable=false, length = 50)
private String email;
}
|
Script Pegawai.java
package idris.com.UTS_PFA.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.annotations.GenericGenerator;
@Entity
public class Pegawai {
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private String id;
@Column(nullable=false, unique=true, length = 10)
private String nama;
@Column(nullable=false, length = 50)
private String jabatan;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getJabatan() {
return jabatan;
}
public void setJabatan(String jabatan) {
this.jabatan = jabatan;
}
|
Berikut kita akan membat 2 class lagi untuk package DAO.
Scrpit AtasanDao.java
package idris.com.UTS_PFA.dao;
import idris.com.UTS_PFA.entity.Atasan;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface AtasanDao extends PagingAndSortingRepository<Atasan, String>{
}
|
Script PegawaiDao.java
package idris.com.UTS_PFA.dao;
import idris.com.UTS_PFA.entity.Pegawai;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface PegawaiDao extends PagingAndSortingRepository<Pegawai, String>{
}
|
Selanjutnya kita akan buatkan controllernya.
Script AtasanHtmlController.java
package idris.com.UTS_PFA.controller;
import idris.com.UTS_PFA.dao.AtasanDao;
import idris.com.UTS_PFA.entity.Atasan;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping("/atasan")
public class AtasanHtmlController {
@Autowired
private AtasanDao pd;
@RequestMapping("/tampilan")
public void daftarGuru(Model m) {
m.addAttribute("daftarAtasan", pd.findAll());
}
@RequestMapping("/hapus")
public String hapus(@RequestParam("id") String id) {
pd.delete(id);
return "redirect:tampilan";
}
@RequestMapping(value = "/tambah", method = RequestMethod.POST)
public String prosesTambah(@Valid Atasan g, BindingResult errors) {
if (errors.hasErrors()) {
return "/atasan/tambah";
}
pd.save(g);
return "redirect:tampilan";
}
@RequestMapping(value = "/tambah", method = RequestMethod.GET)
public String tampilkanTambah(@RequestParam(value = "id", required = false) String id, Model m) {
m.addAttribute("atasan", new Atasan());
if (id != null && !id.isEmpty()) {
Atasan g = pd.findOne(id);
if (g != null) {
m.addAttribute("atasan", g);
}
}
return "/atasan/tambah";
}
}
|
Script PegawaiHtmlController.java
package idris.com.UTS_PFA.controller;
import idris.com.UTS_PFA.dao.PegawaiDao;
import idris.com.UTS_PFA.entity.Pegawai;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping("/pegawai")
public class PegawaiHtmlController {
@Autowired
private PegawaiDao pd;
@RequestMapping("/tampilan")
public void daftarSiswa(Model m) {
m.addAttribute("daftarPegawai", pd.findAll());
}
@RequestMapping("/hapus")
public String hapus(@RequestParam("id") String id) {
pd.delete(id);
return "redirect:tampilan";
}
@RequestMapping(value = "/tambah", method = RequestMethod.POST)
public String prosesTambah(@Valid Pegawai s, BindingResult errors) {
if (errors.hasErrors()) {
return "/pegawai/tambah";
}
pd.save(s);
return "redirect:tampilan";
}
@RequestMapping(value = "/tambah", method = RequestMethod.GET)
public String tampilkanTambah(@RequestParam(value = "id", required = false) String id, Model m) {
m.addAttribute("pegawai", new Pegawai());
if (id != null && !id.isEmpty()) {
Pegawai s = pd.findOne(id);
if (s != null) {
m.addAttribute("Pegawai", s);
}
}
return "/pegawai/tambah";
}
}
|
Selanjutnya buat template untuk Atasan dan Pegawai kemudian buat file html di dalamnya.
Html untuk atasan
Script tambah.html
Script tampilan.html
Html untuk pegawai
Script tambah.html
Script tampilan.html
Selanjutnya kita akan membuat script untuk mengkoneksikan ke database.
Script aplication.properties
spring.datasource.url=jdbc:mysql://localhost/db_perusahaan
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#---generate
spring.jpa.generate-ddl=true
#---tampilan json
spring.jackson.serialization.indent_output=true
spring.thymeleaf.cache=false
|
Berikut kita akan membuat databasenya.
Kemudian clean and bulid projek tersebut.
Lihat isi databasenya.
percobaan
Komentar
Posting Komentar