`
runfeel
  • 浏览: 935975 次
文章分类
社区版块
存档分类
最新评论

hibernate环境的搭建和对数据库表的增删改查。(配图解详解)

 
阅读更多

首先hiebernate是一种可持久化的框架。

Hibernate可以关联很多流行的数据库。

这里我写一个用hibernate关联mysql。

步骤1:首先启动mysql的服务,在mysql中建立一个数据库如“test” 在该数据库中创建一个表如user。

步骤2:创建一个工程,如:java工程,

步骤3:首先你得导入hibernate的jar 包和mysql 的驱动。如果这里是其他数据库就导入其他包的数据库驱动。

如图:

步骤4:创建一个

<!DOCTYPEhibernate-configuration PUBLIC

"-//Hibernate/HibernateConfiguration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<propertyname="connection.driver_class">

com.mysql.jdbc.Driver //这里是数据库的驱动类,如果是其他数据库就是其他

</property>

<propertyname="connection.url">jdbc:mysql://127.0.0.1:3306/test</property>//连接数据库的库

<propertyname="connection.username">root</property>//数据库名字

<propertyname="connection.password">330127</property>//数据库密码

<propertyname="dialect">org.hibernate.dialect.HSQLDialect</property>//这个将来转化成hibernate的自己的sql语句,叫hsl

<propertyname="show_sql">true</property>

<mappingresource="com/fish/my.hbm.xml"/>//这个是数据库中的表,得单独建一个文件

</session-factory>

</hibernate-configuration>

步骤5:创建一个类,相当于javabean,用来映射表中的数据。User.ava

packagecom.fish;

public class User {

Stringusername;

Stringpasswrod;

Stringname;

int money;

publicString getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

publicString getPasswrod() {

return passwrod;

}

public void setPasswrod(String passwrod) {

this.passwrod = passwrod;

}

publicString getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getMoney() {

return money;

}

public void setMoney(int money) {

this.money = money;

}

}

步骤6:当映射类准备完毕,就得配置xml。

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEhibernate-mapping PUBLIC

"-//Hibernate/HibernateMapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

<classname="com.fish.User"table="user">//这里的name是映射类的类名,table是表的属性

<idname="username">//如果节点是ID说明该属性对应的表的字段是主键

<columnname="username"></column>//这里所有的name是类的属性,colimn是表的字段

<typename="java.lang.String"></type>

</id>

<propertyname="passwrod"column="passwrod"type="java.lang.String"></property>

<propertyname="name"column="name"type="java.lang.String"></property>

<propertyname="money"column="money"type="java.lang.Integer"></property>

</class>

</hibernate-mapping>

步骤7,这些准备完毕,还得加一个

这个是本来就有的,

###direct log messages to stdout ###

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p %c{1}:%L- %m%n

###direct messages to file hibernate.log ###

#log4j.appender.file=org.apache.log4j.FileAppender

#log4j.appender.file.File=hibernate.log

#log4j.appender.file.layout=org.apache.log4j.PatternLayout

#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE}%5p %c{1}:%L - %m%n

###set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=warn, stdout

#log4j.logger.org.hibernate=info

log4j.logger.org.hibernate=debug

###log HQL query parser activity

#log4j.logger.org.hibernate.hql.ast.AST=debug

###log just the SQL

#log4j.logger.org.hibernate.SQL=debug

###log JDBC bind parameters ###

log4j.logger.org.hibernate.type=info

#log4j.logger.org.hibernate.type=debug

###log schema export/update ###

log4j.logger.org.hibernate.tool.hbm2ddl=debug

###log HQL parse trees

#log4j.logger.org.hibernate.hql=debug

###log cache activity ###

#log4j.logger.org.hibernate.cache=debug

###log transaction activity

#log4j.logger.org.hibernate.transaction=debug

###log JDBC resource acquisition

#log4j.logger.org.hibernate.jdbc=debug

###enable the following line if you want to track down connection ###

###leakages when using DriverManagerConnectionProvider ###

#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace

步骤八当准备这些完毕后,其实就可以对表进行增删改查了。

这里我写一个测试类。

packagecom.fish;

importorg.hibernate.Session;

importorg.hibernate.SessionFactory;

importorg.hibernate.Transaction;

importorg.hibernate.cfg.Configuration;

public class Test {

public static void main(String[] args) {

Configuration configuration = new Configuration();//

configuration.configure("hibernate.cfg.xml");//利用上面创建的类找到你创建的xml文件

SessionFactory factory =configuration.buildSessionFactory();

//下面一段代码是对添加的数据的,首先创建一个user,对其赋数值,相当于表中的一条记录

User user = new User();

user.setUsername("flyfish");

user.setPasswrod("330127");

user.setName("zhangsan");

user.setMoney(1200);

//创建一个session并取得与数据库的连接。因为数据的增删改,是要对表进行提交的所以要用到事务进行提交和回滚

Session session = factory.openSession();

Transaction transaction =session.beginTransaction();//这里创建该表的数据事务

transaction.begin();//启动事务

session.save(user);//session的方法可以对数据进行增删改包括查

transaction.commit();//插入完成就要对事务进行提交

session.close();//关闭会话。

}

}

下面在写一个测试类对数据的查询.

packagecom.fish;

importjava.util.List;

importorg.hibernate.Query;

importorg.hibernate.Session;

importorg.hibernate.SessionFactory;

import org.hibernate.Transaction;

importorg.hibernate.cfg.Configuration;

public class Test {

public static void main(String[] args) {

Configuration configuration = new Configuration();

configuration.configure("hibernate.cfg.xml");

SessionFactory factory =configuration.buildSessionFactory();

//对数据的查询.首先得用session连接数据库,query是查询

Session session=factory.openSession();

Query query=session.createQuery("from User");//里面的条件。User是类不是表!!

List<User> list =query.list();//获取查询的结果集

for(int i=0;i<list.size();i++){//对结果集的遍历

User user=list.get(i);

System.out.println(user.getName());//输出你查询的数据。

}

}

}

//这里我用的是hibernate3.2的。工程的目录结构如下

扩展:测试类就像jsp 中的servlet对数据进行操作,映射类就像jsp中的javabean。而xml与表的关联就想自己写的一个工具类与数据库的连接。

分享到:
评论

相关推荐

    myeclipse+mysql+hibernate+struts2增删改查

    在IT行业中,构建一个完整的Web应用常常涉及到多个技术的整合,本项目就是一个很好的例子,它采用了"Myeclipse+MySQL+Hibernate+Struts2"的技术栈来实现数据的增删改查功能。这是一个典型的企业级应用架构,适用于...

    struts+hibernate+spring 对数据库进行增删改查

    在"struts+hibernate+spring 对数据库进行增删改查"的场景中,Struts会扮演前端控制器的角色,解析用户的请求,将数据传递给业务层进行处理。 **Hibernate** 是一个对象关系映射(ORM)框架,它简化了Java应用程序...

    struts1.2.9+hibernate3.3.1完整数据库表增删改查示例

    struts1.2.9,Hibernate3.3.1,struts-tags,JSTL标签库+EL,对数据库表(test.userinfo)增删改查的完整示例. 未用Eclipse或MyEclipse,几乎纯手工实现,含所需库文件. 欢迎大家下载部署,学习. 2009-12-15

    spring4+hibernate4实现增删改查

    本文将深入探讨如何使用Spring4和Hibernate4实现数据库的增删改查操作,以及在这个过程中可能涉及的关键知识点。 首先,Spring4是一个全面的Java应用程序框架,它提供了一种方式来管理组件(或称为bean)之间的依赖...

    java数据库增删改查操作实例(hibernate原理)

    本示例通过一个通用的DAO(Data Access Object)类,展示了如何在不依赖Hibernate等ORM框架的情况下,进行数据库的增删改查操作。这有助于理解底层的SQL执行过程,同时也提供了更灵活的控制权。 首先,DAO模式是一...

    struts+Hibernate+MySQL简单的增删改查例子

    总结来说,"struts+Hibernate+MySQL简单的增删改查例子"展示了如何在MyEclipse 6.5中利用这三个技术进行Web应用开发,包括模型的建立、数据库操作以及用户界面的构建。理解并掌握这个例子,有助于开发者深入理解Java...

    利用IDEA搭建的hibernate+Spring+SpringMVC架构实现增删改查等功能

    本文将详细介绍如何利用IntelliJ IDEA(IDEA)搭建一个基于Hibernate、Spring和SpringMVC的架构,实现基本的增删改查(CRUD)功能。 首先,Hibernate是Java领域的一个对象关系映射(ORM)框架,它允许我们将数据库...

    struts 实现对数据库的增删改查纯手写

    这个项目对于初学者来说是一个很好的实践,通过手写Struts实现对MySQL数据库的增删改查,能够帮助你深入理解MVC架构和Struts框架的工作原理。记得在实践中不断调试和测试,以确保每个功能的正确性。

    java连接数据库实现增删改查 教师管理系统

    在Java编程中,连接数据库并实现增删改查(CRUD)操作是常见的任务,尤其在构建管理系统如教师管理系统时。下面将详细讲解这个过程涉及的关键知识点。 首先,要连接数据库,我们需要使用Java的JDBC(Java Database ...

    struts+hibernate+mysql做的增删改查小例子

    总之,"struts+hibernate+mysql做的增删改查小例子"是一个很好的实践平台,可以帮助你巩固和提升Java Web开发技能,尤其是对于MVC架构和ORM的理解。通过逐步学习和实践,你将能够独立地完成更复杂的应用开发任务。

    struts2与hibernate整合单表增删改查(超完整)

    本教程将详细介绍如何将这两个框架整合起来,实现一个完整的用户注册和单表数据的增删改查功能,使用MySQL作为后台数据库。 **1. Struts2框架** Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Java ...

    SSH框架实现的用户登录系统,包括对数据库的增删改查

    在这个用户登录系统中,SSH框架被用来处理用户的身份验证和授权,同时实现对数据库的增删改查操作。 首先,Struts2作为 MVC 模式中的控制器,负责接收用户的请求,解析请求参数,并调用业务逻辑层(Service)进行...

    Struts2+Hibernate的增删改查

    综上所述,"Struts2+Hibernate的增删改查"项目是一个典型的Java Web开发示例,涵盖了前端请求处理、后端数据库操作、业务逻辑封装等多个层面,对于初学者来说,这是一个很好的学习和实践平台。通过这个项目,开发者...

    Struts+Hibernate增删改查

    因项目还在开发,所以本人只拿出一块单独的struts+hibernate增、删、改、查来演示,具体的一些包一看就知道; 项目直接在MyEclipse6.0运行,环境是里面自带的,用过的人都知道。本人测试没有问题。 具体的页面...

    Spring与Hibernate整合实例(博客用户登录增删改查)

    在这个“Spring与Hibernate整合实例(博客用户登录增删改查)”中,我们将探讨如何将这两个强大的框架——Spring和Hibernate——结合起来,以实现一个博客系统的用户管理功能,包括用户登录、注册、信息修改以及数据...

    hibernate简单程序,实现从页面对数据库的增删改查(主从表关联)

    前段时期一直使用三层来写从页面对数据库的增删改查,今天用hibernate框架来实现从页面对数据库的增删改查, 首先介绍下今天我们要实现的功能, 1、用户能够注册,2、注册成功后直接跳到登录页面,3、登录成功后...

    Hibernate+struts 增删改查

    在IT行业中,开发Web应用程序时,常常需要对数据库进行数据操作,这通常涉及到"增删改查"(CRUD)的基本功能。"Hibernate+Struts"是一个常见的Java Web开发框架组合,它们一起提供了强大的后端数据处理能力。下面将...

    Java中单表和多表级联的增删改查

    "Java中单表和多表级联的增删改查"这个主题涵盖了基础的数据库操作以及更复杂的关联查询技术。以下是对这些知识点的详细解释: 1. **单表的增删改查(CRUD)**: - **Create(创建)**: 在Java中,通常使用JDBC...

    使用springmvc+hibernate完成增删改查

    在本项目中,"使用springmvc+hibernate完成增删改查"意味着开发者已经配置好了SpringMVC和Hibernate的环境,能够通过这两个框架进行数据操作。数据无需创建自动生成,可能指的是使用了Hibernate的自动建表功能,或者...

    Java数据库的增删改查

    本主题主要聚焦于Java数据库的增删改查(CRUD)操作,这对于任何初学者或开发者来说都是必须掌握的基础知识。下面将详细阐述相关概念、技术和应用。 1. **Java数据库连接(JDBC)**: JDBC是Java中用于与各种类型...

Global site tag (gtag.js) - Google Analytics