hibernate 增删改查
用到的包
import java.util.List;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
insert
session.save
session = sessionFactory.openSession();
transaction = (Transaction) session.beginTransaction();
session.save(user);
transaction.commit();
session.close();
delete
session.delete
session = sessionFactory.openSession();
Object o = session.load(User.class, id);
transaction = session.getTransaction();
session.beginTransaction();
session.delete(o);
transaction.commit();
session.close();
update:
session.update
session.saveorupdate
query.executeupdate
session = sessionFactory.openSession();
transaction = session.getTransaction();
session.beginTransaction();
// session.update(user);
// session.update("id", user);
session.saveOrUpdate("id", user);
// session.update(user);
// session.saveOrUpdate("id", user);
transaction.commit();
session.close();
session = sessionFactory.openSession();
session.beginTransaction();
SQLQuery query = session.createSQLQuery("update user u set u.username = '" + user.getUsername() + "' where u.id = "+user.getId());
query.executeUpdate();
int row = query.executeUpdate();
System.out.println(row);
transaction = session.getTransaction();
transaction.commit();
select
session = sessionFactory.openSession();
transaction = session.beginTransaction();
User user = (User) session.get(User.class, id);
transaction.commit();
session.close();
System.out.println(user.toString());
完整示例代码:
package com.test1.dao.impl;
import java.util.List;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.test1.dao.UserDao;
import com.test1.model.User;
@Repository("userDao")
public class UserDaoImpl implements UserDao {
@Autowired
SessionFactory sessionFactory;
Session session = null;
Transaction transaction = null;
@Override
public boolean addUser(User user) throws Exception {
session = sessionFactory.openSession();
transaction = (Transaction) session.beginTransaction();
session.save(user);
transaction.commit();
session.close();
return true;
}
@Override
public User getUserById(int id) throws Exception {
// session = sessionFactory.openSession();
// transaction = session.beginTransaction();
// User user = (User) session.load(User.class, id);
// System.out.println(user.getUsername());
transaction = session.getTransaction();
session.beginTransaction();
// transaction.commit();
// session.close();
// return user;
session = sessionFactory.openSession();
transaction = session.beginTransaction();
User user = (User) session.get(User.class, id);
System.out.println(user.toString());
transaction.commit();
session.close();
System.out.println(user.toString());
return user;
}
@Override
public List getUserList() throws Exception {
session = sessionFactory.openSession();
transaction = session.beginTransaction();
List userList = session.createCriteria(User.class).list();
transaction.commit();
session.close();
return userList;
}
@Override
public boolean deleteUser(int id) throws Exception {
session = sessionFactory.openSession();
Object o = session.load(User.class, id);
transaction = session.getTransaction();
session.beginTransaction();
session.delete(o);
transaction.commit();
session.close();
return false;
}
@Override
public boolean updateUser(User user) throws Exception {
System.out.println(user.toString());
session = sessionFactory.openSession();
transaction = session.getTransaction();
session.beginTransaction();
// session.update(user);
// session.update("id", user);
session.saveOrUpdate("id", user);
//Query query = session.createQuery("update user u set u.username = '"+user.getUsername()+"' where u.id = " + user.getId());
//query.executeUpdate();
// session.update(user);
// session.saveOrUpdate("id", user);
transaction.commit();
session.close();
session = sessionFactory.openSession();
session.beginTransaction();user.getUsername() + "' where u.id = ?");
SQLQuery query = session.createSQLQuery("update user u set u.username = '" + user.getUsername() + "' where u.id = "+user.getId());
query.executeUpdate();
int row = query.executeUpdate();
System.out.println(row);
// query.executeUpdate();
transaction = session.getTransaction();
transaction.commit();
return true;
}
}
还没有评论,来说两句吧...