Hibernate Ders 09 – CRUD
Merhaba Arkadaslar,
Bu dersimizde Hibernate de CRUD islemleri yapacagiz(CRUD=CREATE, READ, UPDATE, DELETE)
Bu ornegimizde , bir pojo sinifimiz ve bir test sinifimiz olacak.
session.save
session.update
session.delete metotlarini kullanacagiz.
Users.java
package hibernatetutorial9__CRUD_operations; import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; /** * * @author Levent */ @Entity public class Users implements Serializable { @Id @GeneratedValue(strategy= GenerationType.AUTO) private int userId; private String userName; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } }
Gordugunuz gibi 2 adet alanimiz var ve basitce getter//setter metotlarini olusturup gerekli notasyonlari verdik.
Sirada test sinifimiz var.
UsersTest.java
package hibernatetutorial9__CRUD_operations; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.tool.hbm2ddl.SchemaExport; /** * * @author Levent */ public class UsersTest { public static void main(String[] args) { AnnotationConfiguration config = new AnnotationConfiguration(); config.addAnnotatedClass(Users.class); config.configure("hibernate.cfg.xml"); new SchemaExport(config).create(true, true); SessionFactory factory = config.buildSessionFactory(); Session session = factory.getCurrentSession(); session.beginTransaction(); Users user; for (int i = 1; i " + user.getUserName()); session.update(user); user = (Users) session.get(Users.class, 8); session.delete(user); session.getTransaction().commit(); } }
Simdi kodumuz uzerinde anlatmaya devam edelim..
for (int i = 1; i <= 10; i++) { Users user = new Users(); user.setUserName("User " + i); session.save(user); }
for dongumuzde Users sinifimizdan bir nesne olusturuyoruz ve isimler birbirinden farkli olsun diye “User” in sonuna i degerimizi ekliyoruz. Boylece
Users 1
Users 2
…
Users 9
Users 10 oluyor..
ve session.save(user); ile tablomuza kayitlari ekliyoruz.
user = (Users) session.get(Users.class, 5); user.setUserName("User 5 updated"); System.out.println("User name==>" + user.getUserName()); session.update(user);
Burada basit bir guncelleme islemi gerceklestirdik. get() metoduna 2 parametre veriyoruz Users.class ve id degeri! Id ile kayida ulasip, ismini degistirdik ve update metodu ile guncellemeyi gerceklestirdik.
tabloda gordugumuz gibi kayit guncellendi 🙂
Not: user = (Users) session.get(Users.class, 5); da gecersiz bir ID verirsek (ornegin 15) soyle bir hata aliriz : Evet o meshur NullPointerException 🙂
Exception in thread “main” java.lang.NullPointerException at hibernatetutorial9__CRUD_operations.UsersTest.main(UsersTest.java:38)
Simdi de sirada basit bir delete islemi var.
user = (Users) session.get(Users.class, 8); session.delete(user);
Burada da Id alani ile kaydimiza ulasiyoruz ve session.delete(user); ile kaydimizi silebiliyoruz. Calistirip sonucu gorelim.
for ile 10 adet kayit olusturduk.
update ile id alani 5 olan kayidi guncelledik.
delete ile id alani 8 olan kayidi sildik.
Dersimize burada son veriyoruz.
Kaynak kodlar : HibernateTutorial_V9
Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
injavawetrust
Leave a Reply