1.配置 hibernate.cfg.xml 在src里面
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/test</property> <property name="connection.username">root</property> <property name="connection.password">mysql</property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">2</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">update</property> <mapping resource="ls/student/pojo/Student.hbm.xml" /> <mapping resource="ls/teacher/pojo/Teacher.hbm.xml" /> </session-factory> </hibernate-configuration>
2.配置pojo里面Teacher类的 Teacher.hbm.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <hibernate-mapping package="ls.teacher.pojo"> <class name="ls.teacher.pojo.Teacher" table="Teacher"> <id name="userid" column="userid" type="string" > <generator class="assigned"/> </id> <property name="name" column="name" type="string"></property> <property name="password" column="password" type="string"></property> <property name="age" column="age" type="string"></property> </class> </hibernate-mapping>
3.数据操作 增删改查
package ls.teacher.dao; import java.util.List; import ls.teacher.pojo.Teacher; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; public class TeacherDao { private static Teacher teacher = null; /** * 添加老师 * @param password * @return */ public Teacher addTeacher(String userid,String name,String password,String age){ Configuration cfg = new Configuration().addResource("hibernate.cfg.xml");//初始化configuration配置文件 SessionFactory sf = cfg.configure().buildSessionFactory();//建一个SessionFactory Session session = sf.openSession();//打开Session Transaction transaction = session.beginTransaction();//开始一个事物 try { teacher = new Teacher(); teacher.setUserid(userid); teacher.setName(name); teacher.setPassword(password); teacher.setAge(age); session.save(teacher); transaction.commit(); } catch (Exception e) { // TODO: handle exception transaction.rollback(); } return teacher; } /** * 通过id查询老师信息 * @param userid * @return Teacher */ public Teacher selectTeacher(String userid){ Configuration cfg = new Configuration().addResource("hibernate.cfg.xml");//初始化configuration配置文件 SessionFactory sf = cfg.configure().buildSessionFactory();//建一个SessionFactory Session session = sf.openSession();//打开Session Transaction transaction = session.beginTransaction();//开始一个事物 String hql = "from Teacher teacher where teacher.userid=?"; List<Teacher> list = null; try { list = session.createQuery(hql).setString(0, userid).list(); System.out.println("pp:"+list.get(0).getPassword()); transaction.commit(); teacher = list.get(0); } catch (Exception e) { // TODO: handle exception transaction.rollback(); }finally{ session.close(); } return teacher; } /** * 更新老师密码 * @return */ public boolean updateTeacher(String userid,String password){ boolean flag = false; Configuration cfg = new Configuration().addResource("hibernate.cfg.xml"); SessionFactory sf = cfg.configure().buildSessionFactory(); Session session = sf.openSession(); Transaction transaction = session.beginTransaction(); String hql = "update Teacher teacher set teacher.password=? where teacher.userid=?"; try { Query queryupdate = session.createQuery(hql).setString(0, password).setString(1, userid); queryupdate.executeUpdate(); transaction.commit(); flag = true; } catch (Exception e) { // TODO: handle exception transaction.rollback(); }finally{ session.close(); } return flag; } /** * 删除老师信息 * @return */ public boolean deleteTeacher(String userid) { boolean flag = false; Configuration cfg = new Configuration().addResource("hibernate.cfg.xml"); SessionFactory sf = cfg.configure().buildSessionFactory(); Session session = sf.openSession(); Transaction transaction = session.beginTransaction(); String hql = "delete from Teacher teacher where teacher=?"; try { Query querydelete = session.createQuery(hql).setString(0, userid); querydelete.executeUpdate(); transaction.commit(); flag = true; } catch (Exception e) { // TODO: handle exception session.close(); } return flag; } }