hibernate的第一应用程序
1.hibernate是站在JDBC的基础上的框架,远比JDBC好用,它的的开发步骤如下:
(1)在工程下建一个lib包,导入用到的jar包
(2).写一个pojo类
(3).配置pojo类名.hbm.xml文件
(4).配置hibernate.cfg.xml文件
(5)写应用程序类
2.代码实战:
(1).导入如下的jar包,本人用数据库是MySQL
2.写一个POJO类
package cn.wwh.www.hibernate.aa.helloword; /** *类的作用: * * *@author 一叶扁舟 *@version 1.0 *@创建时间: 2014-8-17 下午03:07:55 */ public class User { private int id; private String name; /** * @return the id */ public int getId() { return id; } /** * @param id the id to set */ public void setId(int id) { this.id = id; } /** * @return the name */ public String getName() { return name; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } @Override public String toString() { return "User --> id=" + id + "\n name=" + name + ""; } }
3.配置User.hbm.xml文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="cn.wwh.www.hibernate.aa.helloword.User" table="user"> <id name="id" type="int" column="id"> <generator class="native" /> </id> <property name="name" type="string" not-null="true" column="name" /> </class> </hibernate-mapping>4.配置hibernate.cfg.xml文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 1、数据库信息:数据库方言(是一个类的全名)与数据库连接信息 --> <!-- 配置连接数据库所需的驱动 --> <span style="color:#ff0000;"><property name="connection.driver_class">com.mysql.jdbc.Driver</property></span> <!-- 连接数据库的数据库url --> <span style="color:#ff0000;"><property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property></span> <!-- 数据库的账号 --> <span style="color:#ff0000;"><property name="connection.username">root</property></span> <!-- 数据库的密码 --> <span style="color:#ff0000;"><property name="connection.password">wwh</property></span> <!-- 指定数据库的方言(本人用的是MySql) --> <span style="color:#ff0000;"><property name="dialect">org.hibernate.dialect.MySQL5Dialect</property></span> <!-- 2.配置其它 --> <!-- create: 先删表,再建表。 create-drop: 启动时建表,退出前删表。 update: 如果表结构不一致,就创建或更新。 validate: 启动时验证表结构,如果不致就抛异常。 --> <!-- 自动创建数据表 --> <property name="hbm2ddl.auto">update</property> <!-- 显示数据操作的sql语句 --> <span style="color:#3333ff;"><property name="show_sql">true</property></span> <!-- 格式化的显示sql语句 --> <span style="color:#3366ff;"><property name="format_sql">true</property></span> <!-- 3.导入映射配置文件 --> <span style="color:#ff0000;"><mapping resource="cn/wwh/www/hibernate/aa/helloword/User.hbm.xml"/></span> </session-factory> </hibernate-configuration>5.测试类:TestUser.java
package cn.wwh.www.hibernate.aa.helloword; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; /** *类的作用: * * *@author 一叶扁舟 *@version 1.0 *@创建时间: 2014-8-17 下午03:08:17 */ public class TestUser { private static Configuration config; static { config = new Configuration(); config.configure("hibernate.cfg.xml"); } @Test public void testSave() throws Exception { Configuration config = new Configuration(); // 默认加入hibernate.cfg.xml配置文件 config.configure(); SessionFactory factory = config.buildSessionFactory(); Session session = factory.openSession(); Transaction transaction = session.beginTransaction(); for (int i = 0; i < 20; i++) { User user = new User(); user.setName("无悔_一叶扁舟" + i); // 关闭session session.save(user); } // 事务提交 transaction.commit(); // 关闭session session.close(); // 关闭工厂 factory.close(); } @Test public void testGet() throws Exception { SessionFactory factory = config.buildSessionFactory(); Session session = factory.openSession(); // 开始事务 Transaction trans = session.beginTransaction(); // 从数据库中获取id为1的User数据 User user = (User) session.get(User.class, 1); // 输出到控制台上 System.out.println(user); // 事务提交 trans.commit(); session.close(); factory.close(); } }6.测试效果图:
7.注意:
在写hibernate.cfb.xml文件时,出现了
org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml异常,主要原因是:hibernate.cfg.xml中引用了错误的DTD文件径“http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd”
将这个文件路径改为:
“http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。