用(字符串类型)名字来进行dao层的检索并返回该对象
用(字符串类型)名字来进行dao层的检索并返回该对象
query里面放sql语句;然后调用uniqueResult();这个时候就可以的到一个该对象
下面的是查找的方法。
public Client userActive(String code) throws SQLException {
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
String hql = "from Client where c_code='" + code + "'";
Query query = session.createQuery(hql);
Client usr = (Client) query.uniqueResult();
System.out.println(usr);
tx.commit();
session.clear();
return usr;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
这个是增加的代码,为了保证hibernate能正常的和数据库进行数据存储,要正规写代码,tx事务要进行commit,session要close(),该close()方法就包括了flush()。一步到位。
@Override
public void addRegist(Client c) throws SQLException {
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(c);
tx.commit();
} catch (RuntimeException e) {
if (tx != null) {
tx.rollback();
}
throw e;
} finally {
session.close();
}
}
这个是更新的方法,删除其实都是一样子的,把相应的方法变一下即可。
@Override
public void addRegist(Client c) throws SQLException {
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.update(c);
tx.commit();
} catch (RuntimeException e) {
if (tx != null) {
tx.rollback();
}
throw e;
} finally {
session.close();
}
}