- 浏览: 142460 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
hzyhush:
Java模拟登录新浪微博 -
meaemz:
大神,这是完整的代码吗?怎么没有没有main(),我要怎么调用 ...
Java模拟登录新浪微博 -
meaemz:
大神,这是完整的代码吗?怎么没有没有main(),是要自己写一 ...
Java模拟登录新浪微博 -
c_he_n:
最后执行结果怎么获取到url
Java模拟登录新浪微博 -
hvang1988:
18.JEgg Java多线程开发包 ,这个到底怎么样哦,资料 ...
Java 常用的第三方组件
有很长一段时间没有使用hibernate进行开发了,最近闲来无事,温习一下hibernate开发。搭建hibernate开发环境,下载hibernate3.3.2的jar包。所用数据库是mysql。
在使用hibernate3.3.2中要注意以下问题:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/helpers/NOPLoggerFactory
这是由于hibernate-distribution-3.3.2.GA中的带有的slf4j-api-1.5.8和最新下载的slf4j-1.6.1不兼容造成的,下载一个slf4j-1.5.8包就解决问题了。
一、导入hibernate使用的Jar包
见jar.jpg的图
二、配置hibernate的映射文件
三、创建User的bean
部分代码如下:
并配置User的映射文件:
四 、导入数据库生成表结构的工具类
还有一个工具类如下:
五、测试类
在使用hibernate3.3.2中要注意以下问题:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/helpers/NOPLoggerFactory
这是由于hibernate-distribution-3.3.2.GA中的带有的slf4j-api-1.5.8和最新下载的slf4j-1.6.1不兼容造成的,下载一个slf4j-1.5.8包就解决问题了。
一、导入hibernate使用的Jar包
见jar.jpg的图
二、配置hibernate的映射文件
<?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> <property name="hibernate.format_sql">true</property> <property name="hibernate.show_sql">true</property> <property name="connection.url"> jdbc:mysql://localhost:3306/test </property> <property name="connection.username">root</property> <property name="connection.password">sa</property> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <mapping resource="org/outman/domain/User.hbm.xml" /> </session-factory> </hibernate-configuration>
三、创建User的bean
部分代码如下:
public class User implements java.io.Serializable { private static final long serialVersionUID = 1L; private Integer id; private String name; private String pwd; private Boolean verify; private Date registerDate; private BigDecimal salary; ...... }
并配置User的映射文件:
<?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 package="org.outman.domain"> <class name="User" table="t_user"> <!--id name="id" type="integer" column="_id"> <generator class="identity" /> </id--> <!-- Oracle --> <!--id name="id" type="integer" column="_id"> <generator class="sequence"> 如果不写,Hibernate建默认的sequence <param name="sequence">user_seq</param> </generator> </id--> <id name="id" type="integer" column="_id"> <!-- Hibernate根据方言来确定 identity、sequence、... --> <generator class="native"> <param name="sequence">user_seq</param> </generator> </id> <property name="name" type="string" column="_name" /> <property name="pwd" type="string" column="_pwd" /> <property name="verify" type="yes_no" column="_verify" /> <property name="registerDate" type="date" column="_register_date" /> <property name="salary" type="big_decimal" column="_salary" /> </class> </hibernate-mapping>
四 、导入数据库生成表结构的工具类
package org.outman.util; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; public class ExportDB { public static void main(String[] args) { // 读取hibernate.cfg.xml文件 Configuration cfg = new Configuration().configure(); SchemaExport export = new SchemaExport(cfg); export.create(true, true); } }
还有一个工具类如下:
package org.outman.util; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { private static SessionFactory factory; private static Configuration conf; static { conf = new Configuration(); conf.configure(); factory = conf.buildSessionFactory(); } public static Session openSession() { return factory.openSession(); } }
五、测试类
package org.outman.test; import java.math.BigDecimal; import java.util.Date; import java.util.List; import junit.framework.TestCase; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.outman.domain.User; import org.outman.util.HibernateUtil; public class MyTest extends TestCase { public void testSaveUser() { // 调用 Hibernate API // 加载配置文件 Configuration conf = new Configuration(); // 按照默认的路径和文件名装载配置文件 conf.configure(); // hibernate.cfg.xml // conf.configure(File file); // conf.addClass(User.class); // 装载和User类对应的映射文件 // User.hbm.xml // 1 重量级的对象 // 2 线程安全的对象 SessionFactory factory = conf.buildSessionFactory(); // Session提供了ORM操作的接口 // 相当于JDBC的Connection Session session = null; Transaction tx = null; try { session = factory.openSession(); User user = new User(); user.setName("java"); user.setPwd("123456"); user.setVerify(false); user.setRegisterDate(new Date()); user.setSalary(new BigDecimal("12345.67")); tx = session.getTransaction(); tx.begin(); session.save(user); tx.commit(); } catch (HibernateException e) { e.printStackTrace(); tx.rollback(); } finally { session.close(); } } public void testDeleteUser() { Session session = HibernateUtil.openSession(); Transaction tx = session.getTransaction(); tx.begin(); User user = new User(); user.setId(8); session.delete(user); tx.commit(); session.close(); } public void testGetUser() { Session session = HibernateUtil.openSession(); // 延缓加载 // User user = (User) session.load(User.class, 9); User user = (User) session.get(User.class, 9); System.out.println("----------"); System.out.println(user.getName() + "," + user.getPwd()); session.close(); } public void testUpdateUser() { Session session = HibernateUtil.openSession(); Transaction tx = session.getTransaction(); tx.begin(); User user = new User(); user.setId(1); user.setName("java"); user.setPwd("88888888"); session.update(user); // session.saveOrUpdate(user); tx.commit(); session.close(); } @SuppressWarnings("unchecked") public void testQueryUser() { Session session = HibernateUtil.openSession(); // HQL Hibernate Query Language // SQL Query query = session.createQuery("from User u where u.name=?"); query.setParameter(0, "java"); // Iterator<User> it = query.iterate(); // while (it.hasNext()) { // User user = it.next(); // System.out.println(user.getName() + "," + user.getPwd()); // } List<User> userList = query.list(); for (User user : userList) { System.out.println(user.getName() + "," + user.getPwd()); } session.close(); } }
发表评论
-
项目操作日志记录(方法级别)
2019-06-12 16:45 933在项目中要记录操作日志,可以通过spring的Aop技术去实现 ... -
spring mybatis多数据源切换(2)
2019-06-12 16:35 419在上一篇文章中写到,多数据源的切换是使用Java代码调用的,现 ... -
spring mybatis多数据源切换(1)
2019-06-05 23:00 403项目中既要连接mysql数据库又要连接sever sql数据库 ... -
Spring定时器的功能开发
2016-12-05 16:59 21621、使用quartz.jar包实现定时器功能,首先在项目中引入 ... -
Maven多模块SSM框架搭建
2016-12-05 15:07 1548整合SSM和Maven多模块,搭建一个简单的开发架构,具体的做 ... -
Hibernate缓存机制分析
2015-04-09 23:18 648复制代码 您可以通过点击 右下角 的按钮 来对文章内容作出评价 ... -
Spring管理事务的几种方式
2015-04-09 22:33 959把Hibernate用到的数据源Datasource,Hibe ... -
Hibernate注解说明
2015-04-03 18:03 797/** * * @author liuguang ... -
struts2请求过程源码分析
2015-02-04 21:08 625struts2请求过程源码分析 这篇文章写的很好 分析很透彻 ... -
spring和mybatis泛型接口的整合(一)
2015-02-03 20:42 203891、这次使用spring和mybatis进行整合,使用spri ... -
spring和ibatis综合应用入门示例
2012-03-20 20:00 12431、最近几天在学习ibatis ... -
spring开发所需jar包
2012-03-14 09:17 1105spring2.5开发所需的jar包,上传到这里,方便下载使用 ... -
ibatis自动生成主键
2012-03-13 10:53 1049很多数据库支持自动生成主键的数据类型如(mysql)。不 ... -
ibatis入门教程
2012-03-12 20:41 183921、本文通过几个简单的示例,实现ibatis的增删改查的功能。 ... -
ibatis一对多示例
2012-03-12 15:20 15391、在实际开发中,iBATIS框架已经很普遍的使用,然而我们常 ...
相关推荐
Hibernate入门示例
hibernate入门示例代码
hibernate入门示例
dwr + hibernate写的一个检测用户名是否可用的简单代码,非常适合初学者.附件中包含dwr和hibernate等第三方lib,以及数据库建表语句,对本示例作了简要说明
hibernate入门小示例,平台环境 myeclipse + oracle, 使用junit对hibernate的简单增删改查进行验证,并实现日志记录。
hibernate-3.4入门的简单示例,用注解的方式操作oracle数据库。源码导入可运行。 还包括hibernate-annotations-3.4.0.GA.zip、hibernate-distribution-3.3.2.GA-dist.zip、slf4j-1.5.8.zip、ojdbc14.jar
hibernate 入门:10分钟跑起这个hibernate 示例程序 (图解、附源码http://download.csdn.net/source/650851)
Hibernate3.3.1,MySQL5.1.36 独立的Java Application源程序,完整的Hibernate3.3.1入门级(配置)完整示例. 未用Eclipse或MyEclipse,JC几乎纯手工实现,含所需库文件. 2009-12-15
spring4mvc_hibernate4示例,源码,导入可运行。
Hibernate是一个开放源代码的O/R Mapping (对象关系映射框架),它对JDBC进行了轻量级...而本文通过几个简单的示例抛砖引玉,让读者可以快速的上手,学会在jbuilder下配置hibernate,并利用hibernate与数据库进行交互。
NULL 博文链接:https://xieye.iteye.com/blog/1606851
通过示例讲解从数据库到实体类,从实体类到数据库的映射关系,讲解包括:集合映射和继承映射。
hibernate示例,包含增删改查,方便初学者理解,更快速入门
这个快速入门展示了使用 MyEclipse Enterprise Workbench 开发 Hibernate 的基本功能, 概念和技术. 我们将全程带领你来开发一个非常简单的 Java Hibernate 应用. 对于这个教程没有包含到的问题和概念, 我们推荐你去...
有Hibernate的帮助文档,hibernate2.1.2参考手册中文版,hibernate 2 安装手记,hibernate相关原理与配置快速入门,hibernate入门示例,Hibernate原理与配置快速入门,Hibernate建模工具CowNewStudio1.0.3等等一些...
hibernate 快速入门 中文版 翻译: 刘长炯 前言 准备工作 介绍 Hibernate 一览 创建 HibernateDemo 项目 使用 HQL 编辑器 测试 HibernateDemo 应用 使用示例 HibernateDemo 项目 总结 用户反馈 资源
本章重点 Hibernate的简介及配置 第一个Hibernate示例 能够让你更好的理解Hibernate
本书 大量的实例代码更容易提高读者对 hibernate的理解,从而提高;从基础的入门到 各个实例,包含hibernate的所有用法;
Myeclipse开发struts+hibernate+spring新手入门---环境配置----项目开发示例 Myeclipse开发struts+hibernate+spring小记 开发前准备工作: 1、下载eclipse3.1版本 下载地址: 2、下载Myeclipse插件 下载地址: 3...