Hibernate5配置及實現簡單增刪改查
1、 建立專案(java專案)
2、建立lib資料夾,在lib中匯入相關jar包(Hibernate10個,MySQL 1個),然後右鍵buildpath
3、編寫hibernate.cfg.xml配置檔案,(src目錄下)
<hibernate-configuration>
<session-factory>
<!—資料連線的設定-->
<property name=”connection.driver_class”>com.mysql.jdbc.Driver</property>
<property name=”connection.url”>com.mysql.jdbc.Driver
<property name=”connection.username”>com.mysql.jdbc.Driver</property>
<property name=”connection.password” >com.mysql.jdbc.Driver</property>
<propertyname=”show_sql”>true</property>
<--當專案啟動更新資料庫的結構-->
<property name=”hbm2ddl.auto” >update
<mapping resource=”com/bean/Userhbm.xml”>
<mapping class=”com.bean.User”/>
</session-factory>
</hibernate-configuration>4、建立一個持久化的類(實體類,User.java)(com.bean包下)生成set、get方法,構造有參構造器和無參構造器
public class User implements java.io.Serializable {
private Integer id;
private String username;
private String password;
}
5、建立一個User.hbm.xml檔案,跟實體類在一起
<hibernate-mapping package=”com.bean”>
<class name=”User” table=”user”>
<id name=”id” column=”id”>
<generator class=”increment”/>
</id>
<propertyname=”username” column=”username”/>
<propertyname=”password” ”/>
</class>
</ hibernate-mapping>
6、編寫測試類//讀取配置檔案
Configurationconfig = new Configration().configure();
//獲取session工廠
SessionFactoryfactory =config.buildSessionFactory();
//開啟 session
Session session=factory.openSession();
//這裡是HQL語句,括號裡的語句是HQL語句 //select*fromuser查的是表//HQL的User 物件
Query query = Session.createQuery(“fromUser”);
//遍歷query
Iterator<User> i =query.iterate();
While(i.hasNext()){
User user =i.next();
System.out.print(“ID:”+user.getId()+”Username:”+user.getUsername());
}
//條件查詢
Query query = session.createQuery(“from Userwhere id =1”)
或者
Query query = session.createQuery(“from User uwhere u.id =:userid”)
Query.setInteger(“userid”,2);
//增加
Transaction ts = ssession.beginTransaction();
User user =new User(2,”username”,”password”);
session.save(user);
ts.commit();
//刪除
User user =new User();
User.setId(2);
Session.delete(user);
ts.commit();
//修改
User user =new User(2,”password”,”username”);
Session.update(user);
ts.commit();
提示:需要自己建立資料庫中的user表