Hibernate入門------HelloWord
阿新 • • 發佈:2018-05-16
Hibernate入門Hibernate的helloword案例
第一步:導入相關jar包
第一步:導入相關jar包
- antlr-2.7.6.jar
- commons-collections-3.1.jar
- dom4j-1.6.1.jar
- hibernate3.jar
- hibernate-jpa-2.0-api-1.0.1.Final.jar
- javassist-3.11.0.GA.jar
- jta-1.1.jar
- log4j-1.2.17.jar
- slf4j-api-1.6.1.jar
- slf4j-log4j12-1.7.2.jar
- mysql-connector-java-5.0.4-bin.jar
第二步:創建modle類.根據表結構.
表結構:
CREATE TABLE `userdata` (
`name` varchar(40) DEFAULT NULL,
`pwd` varchar(40) DEFAULT NULL,
`id` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
modle類:
public class User { private String id; private String name; private String pwd; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
第三步:創建modle的映射文件.
UserModel.hbm.xml :
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC ‘-//Hibernate/Hibernate Mapping DTD 3.0//EN‘ ‘http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd‘> <hibernate-mapping> <!-- 類與表的映射制作在class元素上 --> <!-- name:全路徑類名 --> <!-- table:表名 --> <class name="zz.itcast.modle.User" table="userdata"> <!-- 主鍵的映射制作在id元素上 --> <!-- name:對象中用於作為主鍵的屬性名 --> <!-- colomn:表中主鍵字段名 --> <!-- 如果name與column值相同,可以省略column --> <id name="id" column="id"> <!-- 將generator元素class屬性設置為"assigned" 手動生成,必須給id --> <generator class="assigned" /> </id> <!-- 屬性與字段的映射制作在property元素上 --> <!-- name:類中的屬性名 --> <!-- column:表中的字段名 --> <!-- 如果name與column值相同,可以省略column --> <property name="name" /> <property name="pwd" /> </class> </hibernate-mapping>
第四步:hibernate配置文件.
hibernate.cfg.xml. 放到classpath下.
<?xml version=‘1.0‘ encoding=‘utf-8‘?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 數據庫連接的配置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/userdb</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<!-- 可選配置 -->
<!--是否支持方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--執行CURD時是否打印sql 語句 -->
<property name="show_sql">true</property>
<!-- 資源註冊 -->
<mapping resource="cn/fy/modle/UserModel.hbm.xml"/>
</session-factory>
</hibernate-configuration>
第五步:測試
// 1.創建一個要保存的數據
User um = new User();
um.setId("9");
um.setName("張三");
um.setPwd("123");
// 2.加載配置信息
/**
* Configuration().configure(); ,默認讀取classpath下hibernate.cfg.xml文件 new
* Configuration().configure(“配置文件名”); 不常用
*/
Configuration conf = new Configuration().configure();
// 3.基於配置信息,創建SessionFactory對象
SessionFactory sf = conf.buildSessionFactory();
// 4.打開一個與數據庫相關的Session對象
Session session = sf.openSession();
// 5.開啟事務,基於Session得到
Transaction t = session.beginTransaction();
// 6.通過session保存數據
session.save(um);
// 7.提交事務
t.commit();
// 8.操作完畢後,關閉session連接對象
session.close();
Hibernate入門------HelloWord