2、Hibernate新增資料小測試
阿新 • • 發佈:2018-12-10
1、新建專案–點選建立配置檔案hibernate-cfg.xml 2、匯入包,加入依賴 3、通過資料庫中的表,來建立bean例項和Student.hbm.xml 4、bean類程式碼如下:Student.java
public class Student {
private int id;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
5、Student.hbm.xml對映檔案程式碼如下: 主鍵生成策略,使用native,表中主鍵需要設定成自動增長
<hibernate-mapping>
<!-- 將Java實體類Student與資料庫Hibernate表Student對映 -->
<class name="com.entity.Student" table="student" >
<!-- 主鍵 -->
<id name="id" column="id" type="java.lang.Integer">
<generator class="native"></generator>
</id>
<!-- 非主鍵屬性使用property -->
<property name="name" column="name" type="java.lang.String" />
</class >
</hibernate-mapping>
6、修改hibernate-cfg.xml,程式碼如下:
<hibernate-configuration>
<session-factory>
<!-- 1、資料庫連線資訊 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/fresh</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- 2、資料庫操縱資訊 -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<!-- 注意dialect的值,否則會出現奇怪的問題 -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!--<property name="dialect">org.hibernate.dialect.MySQLDialect</property>-->
<property name="hbm2ddl.auto">update</property>
<!-- 3、新增實體類對映檔案 -->
<mapping resource="com/entity/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>
7、編寫測試程式Hibernate.java
public class HibernateTest {
public static void main(String[] args) {
SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
Session session =sessionFactory.openSession();
Transaction tx=session.beginTransaction();
try
{
Student s=new Student();
s.setId(2015);
s.setName("小孩");
session.save(s);
tx.commit();
}
catch(Exception ex){
tx.rollback();
ex.printStackTrace();
}
finally{
if(session!=null) {
session.close();
}
}
}
}