(查)使用session的get()步骤从数据库中获得信息
(查)使用session的get()方法从数据库中获得信息
和之前的内容一样,这次首先需要将持久类中的主键从String改回为int,因为get()方法查询数据库是根据输入的int来查询的.
其次,由于要测试输出查询的内容,需要在持久类中覆写全参的toString()方法.
持久类的变动就这些.
其次,创建一个新的测试类,此类需要从工厂类中获得session
其余内容就不粘贴了,记得要在xml映射文件中写清楚要获取的数据表名称
最后,输出的内容如下:

和之前的内容一样,这次首先需要将持久类中的主键从String改回为int,因为get()方法查询数据库是根据输入的int来查询的.
其次,由于要测试输出查询的内容,需要在持久类中覆写全参的toString()方法.
持久类的变动就这些.
package hiber1; public class User { private int uid; private String username; private String password; private String address; public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User [uid=" + uid + ", username=" + username + ", password=" + password + ", address=" + address + "]"; } }
其次,创建一个新的测试类,此类需要从工厂类中获得session
package hiber1; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.jupiter.api.Test; public class HiberGet { @Test public void testGet(){ //1.调用工具类(session的工厂类),得到sessionfactory SessionFactory sessionF = HiberTool.getSessionFactory(); //2.获取session Session session = sessionF.openSession(); //3.开启事务 Transaction tx = session.beginTransaction(); //4.根据id查询,获取User对象(重点) User user = session.get(User.class, 2);//第一个参数:实体类.class||第二个参数:id值 System.out.println(user);//直接输出user记得要在User类中重写toString //5.提交事务 tx.commit(); //6.关闭 session.close(); sessionF.close(); } }
其余内容就不粘贴了,记得要在xml映射文件中写清楚要获取的数据表名称
最后,输出的内容如下: