?
我的環境是:eclipse 、mysql數據庫。
?
一:先創建一個普通的java項目。
?
步驟:File→new→Project 。如果直接看不到Project 就選擇Other →General→Project
在project name處輸入項目名字。其他選項根據需要填寫。
?
二:導入hibernate需要的包。
?
?????所需要的包:<!--StartFragment -->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!-- sessionFactory -->
<session-factory>
<!--配置數據庫驅動類 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!--數據庫連接的url ,最后要跟數據庫的名稱-->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/school</property>
<!--數據庫賬號 -->
<property name="hibernate.connection.username">root</property>
<!--數據庫密碼 -->
<property name="hibernate.connection.password">root</property>
<!--數據庫方言-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--<property name="hibernate.hbm2ddl.auto">create</property>-->
<property name="hibernate.show_sql">true</property>
<!-- 映射實體類配置文件 -->
<mapping resource="com/coney/school/model/Teacher.hbm.xml"/>
</session-factory>
</hibernate-configuration>
?
這句。現在注釋掉就可以正常添加了。不會覆蓋原來的數據。
public class Teacher {
private Long tid;
private String tname;
private String tpwd;
private String tclass;
private String tschool;
// 此處省略掉 get...set...方法
}
?在建這個實體類的時候也出過一個問題,就是命名不對。
<?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 package="com.coney.school.model"> <!-- 實體類包 -->
<class name="Teacher" table="teacher"> <!-- name對應實體類名稱, table 對應數據庫表名 -->
<!-- ID name 對應實體類字段,column 數據庫表字段-->
<id name="tid" type="java.lang.Long" ><!--type :java類型-->
<column name="tid" ><!--column 數據庫表字段 not-null:不為空 ,length:長度,default:默認值-->
<comment>表ID</comment><!-- 注釋 -->
</column>
<generator class="increment"/> <!--序列生成器, 字段增長 -->
</id>
<!--其他字段基本上一樣,name 實體類字段,column 數據庫表字段,length 長度,not-null 不為空 -->
<property name="tname" column="tName" length="20" not-null="true"></property>
<property name="tpwd" column="tPwd" length="20" not-null="true"></property>
<property name="tclass" column="tClass" length="20" not-null="true"></property>
<property name="tschool" column="tSchool" length="20" not-null="true"></property>
</class>
</hibernate-mapping>
?
package com.coney.school.test;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
import com.coney.school.model.Teacher;
public class TestConn {
public static void main(String[] args){
Configuration config = new Configuration().configure("hibernate.cfg.xml"); //調用hibernate配置文件,讀取配置文件信息。
SessionFactory sf = config.buildSessionFactory(); //讀完之后,再用這個對象來生成一個SessionFactory
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
tx.begin(); //有了SessionFactory就可以開Session了,可以用事務提交了.
Teacher m = new Teacher();
m.setTname("小小");
m.setTpwd("xx");
m.setTclass("小班");
m.setTschool("翠花幼兒園");
session.save(m);
tx.commit(); //提交
}
}
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

