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.
C:\Users\Anonymous\Pictures\apf\1.PNG
Setelah di klik generate Kemudian download file tersebut setelah itu extrat file tersebut.
C:\Users\Anonymous\Pictures\apf\2.png
Sebelum mengerjakan projek, siapkan dlu m2. Nya
C:\Users\Anonymous\Pictures\apf\3.PNG
Kemudian buka aplikasi netbeans lalu open projek file yang kita generate tadi.
C:\Users\Anonymous\Pictures\apf\4.PNG
Jika sudah di buka maka buatkan 3 package yaitu ( controller, dao, dan entity )
C:\Users\Anonymous\Pictures\apf\5.png
Di entity buatkan 2 class baru, disini kita akan membuat tabel Atasan dan Pegawai.
C:\Users\Anonymous\Pictures\apf\7.PNG
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