1、Hibernate增删改查源码如下:
package cn.com.test.hibernatedemo; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.Transaction; import cn.com.vo.hibernatedemo.UserVO; /** * Hello world! * */ public class App { public static void main(String[] args) { System.out.println("Hello World!"); UserVO vo = new UserVO(1, "gaojignosng", "11", 30); saveUser(vo); getUser(1); loadUser(1); vo.setName("xxxxxxxxx"); updateUser(vo); deleteUser(vo); } public static void saveUser(UserVO vo ){ Session session = HibernateUtil.getSessionFactory().openSession(); Transaction beginTransaction = session.beginTransaction(); try { session.save(vo); beginTransaction.commit(); System.out.println("------saveUser------"+vo); } catch (HibernateException e) { beginTransaction.rollback(); e.printStackTrace(); } session.close(); } public static void getUser(int id){ Session session = HibernateUtil.getSessionFactory().openSession(); try { UserVO vo = (UserVO) session.get(UserVO.class, id); System.out.println("------getUser------"+vo); } catch (HibernateException e) { e.printStackTrace(); } session.close(); } public static void loadUser(int id){ Session session = HibernateUtil.getSessionFactory().openSession(); try { UserVO vo = (UserVO) session.load(UserVO.class, id); System.out.println("------loadUser------"+vo); } catch (HibernateException e) { e.printStackTrace(); } session.close(); } public static void updateUser(UserVO vo){ Session session = HibernateUtil.getSessionFactory().openSession(); Transaction transaction = session.beginTransaction(); try { session.update(vo); transaction.commit(); System.out.println("------updateUser------"+vo); } catch (HibernateException e) { transaction.rollback(); e.printStackTrace(); } session.close(); } public static void deleteUser(UserVO vo){ Session session = HibernateUtil.getSessionFactory().openSession(); Transaction transaction = session.beginTransaction(); try { session.delete(vo); transaction.commit(); System.out.println("------deleteUser------"+vo); } catch (HibernateException e) { transaction.rollback(); e.printStackTrace(); } session.close(); } }
2、SQL语句输出如下:
Hello World! SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Hibernate: insert into t_user (name, pwd, age) values (?, ?, ?) ------saveUser------UserVO [id=2, name=gaojignosng, pwd=11, age=30] Hibernate: select uservo0_.id as id0_0_, uservo0_.name as name0_0_, uservo0_.pwd as pwd0_0_, uservo0_.age as age0_0_ from t_user uservo0_ where uservo0_.id=? ------getUser------UserVO [id=1, name=gaojignosng, pwd=11, age=30] Hibernate: select uservo0_.id as id0_0_, uservo0_.name as name0_0_, uservo0_.pwd as pwd0_0_, uservo0_.age as age0_0_ from t_user uservo0_ where uservo0_.id=? ------loadUser------UserVO [id=1, name=gaojignosng, pwd=11, age=30] Hibernate: update t_user set name=?, pwd=?, age=? where id=? ------updateUser------UserVO [id=2, name=xxxxxxxxx, pwd=11, age=30] Hibernate: delete from t_user where id=? ------deleteUser------UserVO [id=2, name=xxxxxxxxx, pwd=11, age=30]