📄 businessservice.java
字号:
package com.ghy.test1;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
// 一对多自关联
public class BusinessService {
/**
* @param args
*/
public static SessionFactory sessionfactory;
static {
Configuration config = new Configuration();
config.addClass(Category.class);
sessionfactory = config.buildSessionFactory();
}
// 保存
public void saveCategory(String name, String parentName) {
Session session = sessionfactory.openSession();
Transaction ts = null;
Category category = new Category();
try {
ts = session.beginTransaction();
Category parentCategory = new Category();
if (parentName == null) {
parentCategory = null;
} else {
Query query = session
.createQuery("from Category c where c.name= :parentName");
query.setString("parentName", parentName);
parentCategory = (Category) query.list().get(0);
}
category.setParentCategory(parentCategory);
category.setName(name);
session.save(category);
ts.commit();
} catch (Exception e) {
// TODO: handle exception
if (ts != null)
ts.rollback();
e.printStackTrace();
} finally {
session.close();
}
}
// 删除
public void deleteCategory(String name)
{
Session session = sessionfactory.openSession();
Transaction ts = null;
Category category = new Category();
try {
ts = session.beginTransaction();
// Query query = session.createQuery("from Category c where c.name =
// :name");
// query.setString("name", name);
// category = (Category)query.list().get(0);
category = loadCategory(name);
session.delete(category);
ts.commit();
} catch (Exception e) {
// TODO: handle exception
if (ts != null)
ts.rollback();
e.printStackTrace();
} finally {
session.close();
}
}
public Category loadCategory(String name)
{
Session session = sessionfactory.openSession();
Transaction ts = null;
Category category = new Category();
try {
ts = session.beginTransaction();
Query query = session
.createQuery("from Category c where c.name = :name");
query.setString("name", name);
category = (Category) query.list().get(0);
ts.commit();
return category;
} catch (Exception e) {
// TODO: handle exception
if (ts != null)
ts.rollback();
e.printStackTrace();
} finally {
session.close();
}
return category;
}
public void updateCategory(String name, String newName) {
Session session = sessionfactory.openSession();
Transaction ts = null;
Category category = new Category();
try {
ts = session.beginTransaction();
category = (Category) loadCategory(name);
category.setName(newName);
session.update(category);
System.out.println("=========");
ts.commit();
System.out.println("=========");
} catch (Exception e) {
// TODO: handle exception
if (ts != null)
ts.rollback();
e.printStackTrace();
} finally {
session.close();
}
}
public void test() {
// saveCategory("食品", null);
// saveCategory("蔬菜", "食品");
// saveCategory("水果", "食品");
// saveCategory("苹果", "水果");
// saveCategory("香蕉", "水果");
// saveCategory("西瓜", "水果");
// saveCategory("芹菜", "蔬菜");
// saveCategory("茄子", "蔬菜");
// saveCategory("菠菜", "蔬菜");
// saveCategory("洋葱", "蔬菜");
// saveCategory("紫茄子", "茄子");
// saveCategory("绿茄子", "茄子");
// deleteCategory("茄子");
// updateCategory("蔬菜", "窝瓜");
// updateCategory("蔬菜", "属柴");
loadCategory("属柴");
// System.out.println(loadCategory("蔬菜").getId());
}
public static void main(String[] args) {
BusinessService test = new BusinessService();
test.test();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -