编写一个JSP文件用来演示Hibernate应用。该文件往数据表Teacher中连续插入10条记录,如果执行成功则输出:“Hello,Hibernate!Hibernate测试成功!”,如果失败则抛出异常。
时间: 2024-03-06 09:49:10 浏览: 21
为了演示Hibernate应用,我们需要先创建一个JavaBean类,用来映射Teacher表的字段信息。可以参考以下代码:
```java
@Entity
@Table(name="Teacher")
public class Teacher {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name="name")
private String name;
@Column(name="age")
private int age;
// 省略getter和setter方法
}
```
接下来,我们可以编写一个JSP文件来测试Hibernate的插入功能。可以参考以下代码:
```jsp
<%@ page import="org.hibernate.Session,org.hibernate.Transaction,org.hibernate.boot.registry.StandardServiceRegistryBuilder,org.hibernate.cfg.Configuration,java.util.List,com.example.Teacher" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Hibernate测试</title>
</head>
<body>
<%
Configuration configuration = new Configuration();
configuration.configure();
StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
Session session = configuration.buildSessionFactory(builder.build()).openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
for(int i=1; i<=10; i++) {
Teacher teacher = new Teacher();
teacher.setName("Teacher " + i);
teacher.setAge(30 + i);
session.save(teacher);
}
tx.commit();
out.println("Hello,Hibernate!Hibernate测试成功!");
} catch (Exception e) {
if(tx != null) {
tx.rollback();
}
throw e;
} finally {
session.close();
}
%>
</body>
</html>
```
在这个JSP文件中,我们先通过Configuration对象加载Hibernate的配置文件,然后创建SessionFactory对象和Session对象。接着,我们通过Transaction对象开启事务,并循环插入10条记录到Teacher表中。如果执行成功则提交事务,输出“Hello,Hibernate!Hibernate测试成功!”;如果出现异常则回滚事务,并抛出异常信息。最后,我们关闭Session对象。
需要注意的是,在实际开发中,我们不应该将数据库操作逻辑写在JSP文件中,而是应该把它们封装在Service层或DAO层中,提高代码的可维护性和可重用性。