personoperate.java

来自「java 框架核心技术编程」· Java 代码 · 共 76 行

JAVA
76
字号
package org.lxh.hibernate.demo01.oper;

import java.util.List;
import java.util.TreeSet;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import org.lxh.hibernate.demo01.pojo.Person;

public class PersonOperate {
	private Session session;

	public PersonOperate() {
		this.session = new Configuration().configure().buildSessionFactory()
				.openSession();
	}

	public void insert(Person per) {
		this.session.save(per);
		this.session.beginTransaction().commit();
	}

	public Person queryById(int id) {
		Person p = null;
		String hql = "FROM Person AS p where p.id=?";
		Query q = this.session.createQuery(hql);
		q.setInteger(0, id);
		List all = q.list();
		if (all.size() > 0) {
			p = (Person) all.get(0);
		}
		return p;
	}

	// 进行更新
	public void update(Person per) {
		this.session.update(per);
		this.session.beginTransaction().commit();
	}

	// 使用HQL删除
	public void delete(int id) {
		String hql = "DELETE FROM Person WHERE id=?";
		Query q = this.session.createQuery(hql);
		q.setInteger(0, id);
		q.executeUpdate();
		this.session.beginTransaction().commit();
	}
	public void delete(Person per)
	{
		this.session.delete(per) ;
		this.session.beginTransaction().commit() ;
	}

	public static void main(String args[]) {
		PersonOperate po = new PersonOperate();
//		 Person p = new Person();
		// // 设置人的姓名
//		 p.setName("LiXingHua");
//		 p.setEmails(new TreeSet());
//		 p.getEmails().add("mldnqa@163.com");
//		 p.getEmails().add("li_xing_hua@263.com");
//		 p.getEmails().add("li_xing_hua@263.com");
//		 p.getEmails().add("mldnkf@163.com");
//		 po.insert(p);
		// Person p = po.queryById(3);
		 //System.out.println(p.getName());
		 //System.out.println(p.getEmails());
		// p.getEmails().add("mldn@mldn.cn");
		// p.getEmails().add("163@163.com");
		// po.update(p);
		po.delete(2) ;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?