Hibernate 使用
Hibernate 的使用避免了大量的写sql数据。简化了操作。
student为数据库中的一张表,含有字段id,name,sex,place,对应的类为Student,
Student 类有id,name,sex,place,等私有变量,对应的每个变量都有set及个体方法,因此就将类与数据库中的字段对应起来了。
配置文件如下:
<hibernate-mapping>
<class name="Student" table="student" catalog="school">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="assigned"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<property name="pwd" type="java.lang.Integer">
<column name="pwd" />
</property>
<property name="sex" type="java.lang.String">
<column name="sex" length="20" />
</property>
<property name="place" type="java.lang.String">
<column name="place" length="20" />
</property>
</class>
</hibernate-mapping>
测试代码如下:
Student student=new Student();
student.setName("ctgu");
student.setPlace("sanxia");
student.setSex("naen");
Configuration conf=new Configuration();
SessionFactory sessionFactory=conf.configure().buildSessionFactory();
Session session=sessionFactory.openSession();
session.beginTransaction();
session.save(student);
session.getTransaction().commit();
session.close();
sessionFactory.close();
功能:向数据库中添加数据。
集成的方法:通过类对数据库中数据实现增删改查,
增加一个用户
public void addUser(User user)
{
Configuration conf=new Configuration();
SessionFactory sessionFactory=conf.configure().buildSessionFactory();
Session session=sessionFactory.openSession();
System.out.println(session);
Transaction t=session.beginTransaction();
session.save(user);//session的save方法,添加一个用户
t.commit();
session.close();
}查询,结果是获得一个User对象
public User getUserByEmail(String email) {
Configuration conf=new Configuration();
SessionFactory sessionFactory=conf.configure().buildSessionFactory();
Session session=sessionFactory.openSession();
User user=(User)session.createQuery("from User u where u.email=?")
.setString(0,email).uniqueResult();
session.close();
return user;
}
session的createQuery方法,从数据库中查询
public User getUserById(Integer id)
{
Configuration conf=new Configuration();
SessionFactory sessionFactory=conf.configure().buildSessionFactory();
Session session=sessionFactory.openSession();
User user=(User)session.createQuery("from User u where u.id=?")
.setInteger(0, id).uniqueResult();
session.close();
return user;
}
public void deleteUser(Integer id) {
Configuration conf=new Configuration();
SessionFactory sessionFactory=conf.configure().buildSessionFactory();
Session session=sessionFactory.openSession();
Transaction t=session.beginTransaction();
User user=getUserById(id);
System.out.println(user.getId()+"\t"+user.getNickname());
session.delete(user);//session的delete方法实现删除一个用户
t.commit();
session.close();
}
更新
public void updateUser(User user) {
Configuration conf=new Configuration();
SessionFactory sessionFactory=conf.configure().buildSessionFactory();
Session session=sessionFactory.openSession();
Transaction t=session.beginTransaction();
session.update(user);//session的update方法,向数据库中添加一个用户
t.commit();
session.close();
}
public List<?> getAllUser() {
Configuration conf=new Configuration();
SessionFactory sessionFactory=conf.configure().buildSessionFactory();
Session session=sessionFactory.openSession();
List list=session.createQuery("from User")
.list();
session.close();
return list;
}
Hibernate 使用
最新推荐文章于 2024-08-12 23:08:35 发布