SSH学习之Hibernate的第一个程序
2017-03-16 16:37
495 查看
回忆
在之前的几篇博客里我们了解了Hibernate的一些基本的概念和用途,接下来我从环境搭建到对数据库进行CRUD操作做一次详细的讲解。(在这里JDK、Tomcat、myeclipse、MySQL都已经配置好了)搭建环境
第一步:创建项目个人建议还是创建WEB项目比较好,其实创建Java项目也行,在这里我就以WEB项目为例了。
第二步:导入jar包
我使用的Hibernate3.6的版本,因为这是比较稳定的一个版本,用其他版本也可从官网下载。
下载解压Hibernate之后,我们初学的只需要其中的两个文件夹下的jar包,在lib目录下。值得注意的是如果是Hibernate3.X版本的必须要引入加压后的hibernate3.jar,否则会报错。
即便是其他的版本,也只需要引入这两个文件夹的jar包。
将jar包复制到WEB-INF下的lib目录。
第三步:引入核心配置文件
核心配置文件可以从下载解压的文件中获取。hibernate-distribution-3.6.10.Final\project\etc目录下的hibernate.cfg.xml,将其拷贝到项目src目录下,删除其中的session-factory标签中的属性及它的所有子标签,然后可以参考博客SSH学习之Hibernate的配置文件对其中的一些信息进行配置,比如数据库信息。
<?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> <!-- 配置MySQL数据库信息 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/db_hibernate</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- 配置hibernate设置信息 --> <property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <!--指定数据库的方言,指定MySQL--> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <!-- 导入映射文件(实体和表之间的映射关系) --> <mapping resource="pojo/User.hbm.xml"/> </session-factory> </hibernate-configuration>
第四步:导入MySQL驱动包
MySQL的驱动包可以到官网下载驱动包下载,可以选择版本。将MySQL驱动包也导入项目的lib目录下。
编写程序
第一步:创建一个实体类Userpackage pojo; public class User { private Integer id; private String username; private String password; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }第二步:创建映射文件User.hbm.xml
将映射文件和User实体类放到同一个包下。
<?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> <!-- name属性:实体类的全路径,必选 table属性:指明数据库中的表名,必选 catalog属性:指明数据库的名称,可选 --> <class name="pojo.User" table="user" catalog="db_hibernate"> <!-- id标签:每一张表都必须要有唯一的标识符,必要 name属性:标识符的名称,必选 column属性:指定标识符对应表中的哪个字段,可选,默认为和标识符同名 type属性:指定类型,可选,一般不写 --> <id name="id" column="id"> <!-- 主键的生成策略 native:根据不同的数据库而不同,MySQL的是整型并且自增长 --> <generator class="native"></generator> </id> <!-- property标签:实体类和表字段的对应关系 name属性:实体类的属性,必选 column属性:表字段,可选,默认和实体类属性同名 type属性:指定类型,可选,一般不写 --> <property name="username" column="username" /> <property name="password" column="password" /> </class> </hibernate-mapping>第三步:核心配置文件中引入映射文件
<!-- 导入映射文件(实体和表之间的映射关系) --> <mapping resource="pojo/User.hbm.xml"/>第四步:创建数据库以及相应的表
数据库名称为db_hibernate,表的名称为user。
第五步:编写测试类
利用Test进行测试,双击类名,选择run as-》JUnit Test进行测试。数据
9b6d
库表有记录,则表示成功。
如果没有JUint的jar包,可以去下载。
package test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; import pojo.User; public class TestHibernate { @Test public void testSave() { //加载配置文件 Configuration cfg = new Configuration(); //如果没有指定核心配置文件,那么默认加载的是src目录下的hibernate.cfg.xml //如果核心配置文件路径改变,一定要指出路径 cfg.configure("hibernate.cfg.xml"); //生成SessionFactory SessionFactory sf = cfg.buildSessionFactory(); Session session = sf.openSession(); //开启事务 Transaction tx = session.beginTransaction(); User user = new User(); user.setUsername("王五"); user.setPassword("123abc"); try { session.save(user); tx.commit(); } catch (Exception e) { tx.rollback(); } finally { session.close(); sf.close(); } } }
多余的话
写这个不是为了啥,只是回想起了当初学习的时候的情形了。想一想当初还是各种查资料才搞定这些东西的。
相关文章推荐
- SSH学习(九)第一个hibernate程序
- 【SSH三大框架】Hibernate基础第一篇:编写第一个Hibernate程序
- 【SSH三大框架】Hibernate基础第一篇:编写第一个Hibernate程序
- SSH之hibernate学习笔记-----第一个Dome
- Hibernate学习2 -- 第一个Hibernate程序
- hibernate3.3.2学习笔记---第一个程序
- Hibernate 学习之路(一):第一个hibernate程序
- Hibernate学习笔记_01_第一个Hibernate小程序
- Hibernate学习笔记--第一个Hibernate框架程序
- JPA+Hibernate 3.3 学习小结——第一个JPA程序
- 开始学习python了,第一个程序是一个逆波兰式的表达式分析器
- RMI 学习 ------第一个RMI程序
- 从零学习freemarker(1)老紫竹的第一个freemaker程序
- MyEclipse + SQL2000 的第一个Hibernate 程序
- 我的第一个hibernate程序
- 编写你的第一个Hibernate程序 (在Hibernate中使用oracle的sequence产生主键 )
- 第一个Hibernate 程序终于测试通过了
- SWING控件学习1:第一个SWING程序
- Java学习第一步:环境配置与编译第一个程序
- asp扫盲学习班第一个课---程序的安装