本帖最后由 我是楠楠 于 2017-12-13 09:55 编辑
Hibernate的helloword案例第一步:导入相关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类.根据表结构. 表结构: [AppleScript] 纯文本查看 复制代码 CREATE TABLE `userdata` (
`name` varchar(40) DEFAULT NULL,
`pwd` varchar(40) DEFAULT NULL,
`id` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 modle类: [AppleScript] 纯文本查看 复制代码 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 : [AppleScript] 纯文本查看 复制代码 <?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下. [AppleScript] 纯文本查看 复制代码 <?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> 第五步:测试 [AppleScript] 纯文本查看 复制代码 // 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();
传智播客·黑马程序员郑州校区地址 河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层 联系电话 0371-56061160/61/62 来校路线 地铁一号线梧桐街站A口出
|