在其他项目中加入Hibernate
一.导包
二.配置hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL57Dialect</property>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/sport</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">jinbailong200009</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="show_sql">true</property>
<mapping resource="AdminInformation.hbm.xml"/>
</session-factory>
</hibernate-configuration>
三.给admin_information加入AdminInformation.hbm.xml文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping default-lazy="false">
<class name="com.hrbust.sport.entity.AdminInformation" table="admin_information" select-before-update="true" dynamic-update="true">
<id name="admin_id" column="admin_id">
<generator class="native"/>
</id>
<property name="admin_username" column="admin_username"/>
<property name="admin_password" column="admin_password"/>
<property name="admin_email" column="admin_email"/>
</class>
</hibernate-mapping>
四.修改删除接口
@GetMapping("/deleteAdmin")
public String deleteAdmin(int id){
AdminInformation adminInformation = new AdminInformation();
String status = "failed";
HashMap<String,Object> map = new HashMap<>();
Configuration cfg = null;
SessionFactory sf = null;
Session session = null;
Transaction t = null;
try{
adminInformation.setAdmin_id(id);
cfg = new Configuration().configure();
sf = cfg.buildSessionFactory();
session = sf.openSession();
t = session.beginTransaction();
session.delete(adminInformation);
t.commit();
status = "success";
map.put("status",status);
String json = JSON.toJSONString(map);
return json;
}catch (Exception e){
e.printStackTrace();
t.rollback();
map.put("status",status);
String json = JSON.toJSONString(map);
return json;
}
}
五.修改添加接口
@PostMapping("/save")
public String save(@RequestBody AdminInformation adminInformation){
Configuration cfg = null;
SessionFactory sf = null;
Session session = null;
Transaction t = null;
try {
cfg = new Configuration().configure();
sf = cfg.buildSessionFactory();
session = sf.openSession();
t = session.beginTransaction();
session.save(adminInformation);
t.commit();
}catch (Exception e){
t.rollback();
}
return "success";
}
六.修改更新接口
@PostMapping("/update")
public String update(@RequestBody AdminInformation adminInformation){
Configuration cfg = null;
SessionFactory sf = null;
Session session = null;
Transaction t = null;
try {
cfg = new Configuration().configure();
sf = cfg.buildSessionFactory();
session = sf.openSession();
t = session.beginTransaction();
session.update(adminInformation);
t.commit();
}catch (Exception e){
t.rollback();
}
return "success";
}
七.修改查询接口
@GetMapping("/getById")
public List getAdminById(int id){
AdminInformation adminInformation = new AdminInformation();
Configuration cfg = null;
SessionFactory sf = null;
Session session = null;
Transaction t = null;
List<AdminInformation> list = null;
try {
cfg = new Configuration().configure();
sf = cfg.buildSessionFactory();
session = sf.openSession();
t = session.beginTransaction();
Query query = session.createQuery("from AdminInformation a where a.admin_id = ?");
query.setParameter(0, id);
list = query.list();
t.commit();
}catch (Exception e){
t.rollback();
}
return list;
}