1.编写dao类
package com.dao;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import com.util.HibernateUtil;
import com.vo.Admin;
public class AdminDao {
private Transaction transaction;
// 增加管理员信息
public void insertAdmin(Admin admin) {
Session session = HibernateUtil.getSession();
transaction = session.beginTransaction();
// [2]将数据存储到数据库的表中
session.save(admin);
// [3]提交事务
transaction.commit();
// [4]关闭资源
HibernateUtil.closeSession();
}
// 查找所有管理员的信息
public List<Admin> getAllAdmins() {
// [1]获取sessionFactory和session
Session session = HibernateUtil.getSession();
// [2]通过映射文件,查询对应数据库中数据,并存储在list集合中
Query query = session.createQuery("from Admin"); // 注意这里是类名
List<Admin> admins = query.list();
// [3]关闭资源
HibernateUtil.closeSession();
return admins;
}
// 按照编号进行查询信息
public Admin getAdminById(int admin_id) {
// [1]获取sessionFactory和session
Session session = HibernateUtil.getSession();
// [2]通过映射文件,查询对应数据库中数据,并存储在list集合中
Query query = session.createQuery("from Admin a where a.admin_id = " + admin_id);
List<Admin> admins = query.list();
Admin admin = admins.get(0);
// [3]关闭资源
HibernateUtil.closeSession();
return admin;
}
// 修改信息、管理用户0、管理司机1、管理车辆2、管理订单和退款和评论3
public void modifyAdminById(Admin admin) {
// [1]获取sessionFactory和session和transition
Session session = HibernateUtil.getSession();
transaction = session.beginTransaction();
// [2]调用update方法,将数据更新并存储到数据库的表中
session.update(admin);
// [3]提交事务
transaction.commit();
// [4]关闭资源
HibernateUtil.closeSession();
;
}
// 删除信息
public void deleteAdminById(Admin admin) {
// [1]获取sessionFactory和session和transition
Session session = HibernateUtil.getSession();
transaction = session.beginTransaction();
// [2]删除
session.delete(admin);
// [3]提交事务
transaction.commit();
// [4]关闭资源
HibernateUtil.closeSession();
}
}
package com.dao;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.util.HibernateUtil;
import com.vo.Car;
import com.vo.Driver;
import com.vo.Sort;
public class CarDao {
private Transaction transaction;
// 增加管理员信息
public void insertCar(Car car) {
// [1]获取sessionFactory和session
Session session = HibernateUtil.getSession();
transaction = session.beginTransaction();
// [2]将数据存储到数据库的表中
session.save(car);
// [3]提交事务
transaction.commit();
// [4]关闭资源
HibernateUtil.closeSession();
}
// 查询全部车辆信息
public List<Car> getAllCars() {
// [1]获取sessionFactory和session
Session session = HibernateUtil.getSession();
// [2]通过映射文件,查询对应数据库中数据,并存储在list集合中
Query query = session.createQuery(
"select new Car" + "(c.car_id,c.car_number,c.car_type,c.car_color,c.car_state)" + " from Car c");
List<Car> cars = query.list();
for (Car car : cars) {
String hql = "from Driver d where d.driver_id = "
+ "(select c.driver.driver_id from Car c where c.car_id = " + car.getCar_id() + ")";
Query query3 = session.createQuery(hql);
List<Driver> drivers = query3.list();
Driver driver = drivers.get(0);
String hql1 = "from Sort s where s.sort_id = " + "(select c.sort.sort_id from Car c where c.car_id = "
+ car.getCar_id() + ")";
Query query4 = session.createQuery(hql1);
List<Sort> sorts = query4.list();
Sort sort = sorts.get(0);
car.setDriver(driver);
car.setSort(sort);
}
// [3]关闭资源
HibernateUtil.closeSession();
return cars;
}
// 按照车辆编号进行查询信息
public Car getCarById(int car_id) {
// [1]获取sessionFactory和session
Session session = HibernateUtil.getSession();
// [2]通过映射文件,查询对应数据库中数据,并存储在list集合中
// Query query1 = session.createQuery("select new
// Driver(c.driver.driver_id) from Car c where c.car_id=" + car_id);
// List<Driver> drivers = query1.list();
// Driver driver = drivers.get(0);
// Query query2 = session.createQuery("from Driver d where d.driver_id="
// + driver.getDriver_id());
// drivers = query2.list();
// driver = drivers.get(0);
// Query query4 = session.createQuery("select c.driver.driver_id from
// Car c where c.car_id = " + car_id);
// List<Object> Objects = query4.list();
// System.out.println(Objects.get(0).toString());
String hql = "from Driver d where d.driver_id = " + "(select c.driver.driver_id from Car c where c.car_id = "
+ car_id + ")";
Query query3 = session.createQuery(hql);
List<Driver> drivers = query3.list();
Driver driver = drivers.get(0);
String hql1 = "from Sort s where s.sort_id = " + "(select c.sort.sort_id from Car c where c.car_id = " + car_id
+ ")";
Query query4 = session.createQuery(hql1);
List<Sort> sorts = query4.list();
Sort sort = sorts.get(0);
Query query = session
.createQuery("select new " + "Car(c.car_id,c.car_number,c.car_type,c.car_color,c.car_state) "
+ "from Car c where c.car_id = " + car_id);
List<Car> cars = query.list();
Car car = cars.get(0);
car.setDriver(driver);
car.setSort(sort);
// [3]关闭资源
HibernateUtil.closeSession();
return car;
}
// 按照司机编号进行查询信息
public List<Car> getCarByDriverId(int driver_id) {
// [1]获取sessionFactory和session
Session session = HibernateUtil.getSession();
// [2]通过映射文件,查询对应数据库中数据,并存储在list集合中
Query query1 = session.createQuery("from Driver where driver_id=" + driver_id);
List<Driver> drivers = query1.list();
Driver driver = drivers.get(0);
Query query = session
.createQuery("select new " + "Car(c.car_id,c.car_number,c.car_type,c.car_color,c.car_state) "
+ "from Car c where c.driver.driver_id = "
+ driver_id);
List<Car> cars = query.list();
for (Car car2 : cars) {
car2.setDriver(driver);
}
// [3]关闭资源
HibernateUtil.closeSession();
return cars;
}
// 根据车辆编号进行修改信息
public void modifyCarById(Car car) {
// [1]获取sessionFactory和session和transition
Session session = HibernateUtil.getSession();
transaction = session.beginTransaction();
// [2]调用update方法,将数据更新并存储到数据库的表中
session.update(car);
// [3]提交事务
transaction.commit();
// [4]关闭资源
HibernateUtil.closeSession();
}
// 根据车辆编号进行删除信息
public void deleteCarById(Car car) {
// [1]获取sessionFactory和session和transition
Session session = HibernateUtil.getSession();
transaction = session.beginTransaction();
// [2]删除
session.delete(car);
// [3]提交事务
transaction.commit();
// [4]关闭资源
HibernateUti