hibernate测试

package com.yh.manytoMany;


import static org.junit.Assert.*;


import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Before;
import org.junit.Test;


import com.yh.db.DatabaseConnection;




/*
 * inverse :是否由对方维护关联关系;默认取值false /true
 * 
 */
public class TestStuCourse {


@Before
public void setUp() throws Exception {
}


@Test
public void test() {

//addStudent();
addStudent2();
//addCourse2();
}

public void addCourse(){
Session session=DatabaseConnection.getCurrentSession();
Transaction tx=session.beginTransaction();
Course course=new Course();
course.setCname("java");
session.save(course);
tx.commit();
}
public void addStudent(){
Session session=DatabaseConnection.getCurrentSession();
Transaction tx=session.beginTransaction();
Student st=new Student();
st.setName("tom");
st.setSex("男");
session.save(st);
tx.commit();
}


//根据课程信息,添加选课信息
public void addStudent2(){
Session session=DatabaseConnection.getCurrentSession();
Transaction tx=session.beginTransaction();

Course course=new Course();
course.setCname("java");

Student stu1=(Student) session.get(Student.class, 68);
Student stu2=(Student) session.get(Student.class, 69);
course.getStuSet().add(stu1);
course.getStuSet().add(stu2);

session.save(course);
tx.commit();
}


//根据学生信息,添加选课信息
public void addCourse2(){
Session session=DatabaseConnection.getCurrentSession();
Transaction tx=session.beginTransaction();
Student st=new Student();
st.setName("tom");
st.setSex("男");
Course course=(Course) session.get(Course.class, 67);
st.getCourseSet().add(course);

session.save(st);
tx.commit();
}




}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了演示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,HibernateHibernate测试成功!"); } catch (Exception e) { if(tx != null) { tx.rollback(); } throw e; } finally { session.close(); } %> </body> </html> ``` 在这个JSP文件中,我们先通过Configuration对象加载Hibernate的配置文件,然后创建SessionFactory对象和Session对象。接着,我们通过Transaction对象开启事务,并循环插入10条记录到Teacher表中。如果执行成功则提交事务,输出“Hello,HibernateHibernate测试成功!”;如果出现异常则回滚事务,并抛出异常信息。最后,我们关闭Session对象。 需要注意的是,在实际开发中,我们不应该将数据库操作逻辑写在JSP文件中,而是应该把它们封装在Service层或DAO层中,提高代码的可维护性和可重用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值