📄 businessservice.java
字号:
package com.ghy.test4;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Expression;
//三种检索方式,HQL,QBC,本地SQL
public class BusinessService {
public static SessionFactory sessionFactory;
static {
try {
Configuration config = new Configuration();
config.addClass(Courses.class);
config.addClass(Students.class);
sessionFactory = config.buildSessionFactory();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
public void findCourseByNameHQL() {
Session session = sessionFactory.openSession();
Transaction ts = null;
try {
ts = session.beginTransaction();
Query query = session
.createQuery("from Courses as c where c.name = :name");
query.setString("name", "数学");
List list = query.list();
ts.commit();
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Courses courses = (Courses) iterator.next();
System.out.println("HQL");
System.out.print(courses.getId());
System.out.print(":");
System.out.println(courses.getName());
}
} catch (Exception e) {
// TODO: handle exception
if (ts != null) {
// Something went wrong; discard all partial changes
ts.rollback();
}
e.printStackTrace();
} finally {
session.close();
}
}
public void findStudentByNameQBC() {
Session session = sessionFactory.openSession();
Transaction ts = null;
try {
ts = session.beginTransaction();
Criteria cria = session.createCriteria(Students.class);
Criterion crin = Expression.eq("studentNumber", "ghy");
cria.add(crin);
List list = cria.list();
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Students students = (Students) iterator.next();
System.out.println("CBQ");
System.out.print(students.getId());
System.out.print(":");
System.out.println(students.getStudentNumber());
}
ts.commit();
} catch (Exception e) {
// TODO: handle exception
if (ts != null) {
// Something went wrong; discard all partial changes
ts.rollback();
}
e.printStackTrace();
} finally {
session.close();
}
}
public void findCourseByIdSQL() {
Session session = sessionFactory.openSession();
Transaction ts = null;
try {
ts = session.beginTransaction();
String sql = "select {c.*} from courses c where c.id like :id";
SQLQuery sqlQuery = session.createSQLQuery(sql);
sqlQuery.addEntity("c", Courses.class);
sqlQuery.setString("id", "24_");
List list = sqlQuery.list();
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Courses courses = (Courses) iterator.next();
System.out.println("SQL");
System.out.print(courses.getId());
System.out.print(":");
System.out.println(courses.getName());
}
ts.commit();
} catch (Exception e) {
// TODO: handle exception
if (ts != null) {
// Something went wrong; discard all partial changes
ts.rollback();
}
e.printStackTrace();
} finally {
session.close();
}
}
public void test() {
findCourseByNameHQL();
findStudentByNameQBC();
findCourseByIdSQL();
}
public static void main(String[] args) {
BusinessService obj = new BusinessService();
obj.test();
sessionFactory.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -