📄 businessservice.java
字号:
package com.ghy.test5;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
import java.util.*;
import org.hibernate.criterion.*;
public class BusinessService{
public static SessionFactory sessionFactory;
static{
try{
// Create a configuration based on the properties file we've put
Configuration config = new Configuration();
config.addClass(Course.class)
.addClass(Student.class);
// Get the session factory we can use for persistence
sessionFactory = config.buildSessionFactory();
}catch(Exception e){e.printStackTrace();}
}
public void findCourseByNameCBQ() throws Exception
{
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
System.out.println("===============");
Criteria criteria = session.createCriteria(Course.class);
System.out.println("===============");
Criterion criteraion1 = Expression.eq("name","英语");
System.out.println("===============");
criteria.add(criteraion1);
System.out.println("===============");
List list = criteria.list();
System.out.println("===============");
tx.commit();
Iterator ite = list.iterator();
while(ite.hasNext())
{
Course obj =(Course )ite.next();
}
}catch (Exception e) {
if (tx != null) {
// Something went wrong; discard all partial changes
tx.rollback();
}
throw e;
} finally {
// No matter what, close the session
session.close();
}
}
public void saveCourseAndStudentWithCascade() throws Exception{
// Ask for a session using the JDBC information we've configured
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
// Create some data and persist it
tx = session.beginTransaction();
System.out.println("===============");
Course course=new Course("英语",new HashSet());
System.out.println("===============");
Student student=new Student();
System.out.println("===============");
student.setStudentNumber("ghy001");
System.out.println("===============");
student.setCourse(course);
System.out.println("===============");
course.getStudents().add(student);
System.out.println("===============");
session.save(course);
System.out.println("===============");
tx.commit();
}catch (Exception e) {
if (tx != null) {
// Something went wrong; discard all partial changes
tx.rollback();
}
e.printStackTrace();
} finally {
// No matter what, close the session
session.close();
}
}
public Iterator findStudentByCourseNameEagle(String courseName)throws Exception
{
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
System.out.println("===============");
Query query=session.createQuery("from com.ghy.test5.Course as c "
+"where c.name=:name ");
System.out.println("===============");
query.setString("name", courseName);
System.out.println("===============");
List list = query.list();
System.out.println("===============");
tx.commit();
Iterator ite = list.iterator();
while(ite.hasNext())
{
Course obj =(Course)ite.next();
Collection col = obj.getStudents();
System.out.println(col.getClass());
System.out.println();
Iterator i = col.iterator();
return i;
}
}catch (Exception e) {
if (tx != null) {
// Something went wrong; discard all partial changes
tx.rollback();
}
throw e;
} finally {
// No matter what, close the session
session.close();
}
return null;
}
public Iterator findStudentByCourseNameFetch (String courseName)throws Exception
{
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
Query query=session.createQuery
("from com.ghy.test5.Course as c left join fetch c.students "
+"where c.name=:name ");
query.setString("name", courseName);
List list = query.list();;
tx.commit();
Iterator ite = list.iterator();
while(ite.hasNext())
{
Course obj =(Course )ite.next();
Collection col = obj.getStudents();
Iterator i = col.iterator();
return i;
}
}catch (Exception e) {
if (tx != null) {
// Something went wrong; discard all partial changes
tx.rollback();
}
throw e;
} finally {
// No matter what, close the session
session.close();
}
return null;
}
public void printStudents(Iterator i)throws Exception
{
// Iterator i = col.iterator();
while(i.hasNext())
{
Student stu =(Student)i.next();
// Stack stack= new Stack();
// stack.
}
}
public void test() throws Exception{
try{
System.out.println("��ʼ��l����=======================");
// saveCourseAndStudentWithCascade();
// this.findCourseByNameCBQ();
printStudents(this.findStudentByCourseNameEagle("英语"));
// printStudents(this.findStudentByCourseNameFetch("英语"));
}catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String args[]) throws Exception {
new BusinessService().test();
sessionFactory.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -