`

在Tomcat 5.5.4中通过Hibernate 2.1.8访问MySQL数据库

阅读更多

mysql> select * from users;

+----+-------+------------+----------------+
| id | name | password | createTime |
+----+-------+------------+----------------+
| 1 | bitan | bbbbbbbbb | 20050202035511 |
| 2 | helen | hhhhhhhhh | 20050202035526 |
| 3 | susan | ssssssssss | 20050202035541 |
+----+-------+------------+----------------+
3 rows in set (0.00 sec)

K:\tomcat\conf\server.xml

……

<Context path="/test26" docBase="K:\test26" workDir="K:\test26\j2src" reloadable="true" debug="0">

<Resource name="jdbc/mydata" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/mydata"/>

</Context>

</Host>

</Engine>

</Service>

</Server>

K:\test26\WEB-INF\web.xml

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<!--与server.xml中的相关内容相互印证-->
<resource-ref>
<description>aaaaaaaaaaaaaaaa</description>
<res-ref-name>jdbc/mydata</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>


</web-app>

K:\test26\WEB-INF\classes\hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC '-//Hibernate/Hibernate Configuration DTD//EN' 'http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd'>

<hibernate-configuration>
<session-factory>

<!--JNDI名字在web.xml和server.xml中设置-->
<property name="connection.datasource">java:comp/env/jdbc/mydata</property>
<property name="show_sql">false</property>
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>

<mapping resource="Users.hbm.xml"/>
</session-factory>
</hibernate-configuration>

K:\test26\WEB-INF\classes\Users.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC '-//Hibernate/Hibernate Mapping DTD//EN' 'http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd'>

<hibernate-mapping>
<class name="beans.Users" table="users">
<id name="id" column="id" unsaved-value="0">
<generator class="increment"/>
</id>
<property name="name" type="string">
<column name="name" sql-type="varchar(20)" not-null="true"/>
</property>
<property name="password">
<column name="password" sql-type="varchar(40)" not-null="true"/>
</property>
<property name="createTime">
<column name="createTime" sql-type="timestamp" not-null="false"/>
</property>
</class>
</hibernate-mapping>

K:\test26\src\Users.java

//类似javaBean

package beans;

public class Users {
private int id;
private String name;
private String password;
private String createTime;
public void setId(int id) {
this.id = id;
}
public int getId() {
return this.id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return this.password;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getCreateTime() {
return this.createTime;
}
}

K:\test26\src\HibernateUtil.java

//设置Hibernate

package utils;

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;

public class HibernateUtil {
private static final ThreadLocal sessions = new ThreadLocal();
private static final SessionFactory factory;
static {
try {
factory = new Configuration().configure().buildSessionFactory();
} catch (HibernateException he) {
he.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Session currentSession() throws HibernateException {
Session s = (Session) sessions.get();
if (s == null) {
s = factory.openSession();
sessions.set(s);
}
return s;
}
public static void closeSession() throws HibernateException {
Session s = (Session) sessions.get();
sessions.set(null);
if (s != null) {
s.close();
}
}
}

K:\test26\hiber.jsp

<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="net.sf.hibernate.*,
net.sf.hibernate.cfg.*,
beans.Users,
utils.HibernateUtil,
java.util.Iterator"
%>
<%
try {
net.sf.hibernate.Session h_session = utils.HibernateUtil.currentSession();

//插入一行记录
Transaction tx = h_session.beginTransaction();
Users users = new Users();
users.setName("Jodan");
users.setPassword("jjjjjjjjjjj");
h_session.save(users);
tx.commit();
HibernateUtil.closeSession();

//查询所有记录
h_session = HibernateUtil.currentSession();
Transaction tx2 = h_session.beginTransaction();
Query query = h_session.createQuery("selectU from beans.Users as U"); //Hibernate特有的SQL语法
for (Iterator it = query.iterate(); it.hasNext();) {
Users localUsers = (Users)it.next();
int id = localUsers.getId();
String name = localUsers.getName();
String password = localUsers.getPassword();
String createTime = localUsers.getCreateTime();
out.println("id=" + id + " name=" + name + " password=" + password + " createTime=" + createTime + "<br>");

}
tx2.commit();
} catch (HibernateException he) {
System.out.println("**********************" + he.getMessage());
he.printStackTrace();
}

%>

结果:

http://localhost:2000/test26/hiber.jsp

id=1 name=bitan password=bbbbbbbbb createTime=20050202035511
id=2 name=helen password=hhhhhhhhh createTime=20050202035526
id=3 name=susan password=ssssssssss createTime=20050202035541
id=4 name=Jodan password=jjjjjjjjjjj createTime=20050202045004

mysql> select * from users
-> ;
+----+-------+-------------+----------------+
| id | name | password | createTime |
+----+-------+-------------+----------------+
| 1 | bitan | bbbbbbbbb | 20050202035511 |
| 2 | helen | hhhhhhhhh | 20050202035526 |
| 3 | susan | ssssssssss | 20050202035541 |
| 4 | Jodan | jjjjjjjjjjj | 20050202045004 |
+----+-------+-------------+----------------+
4 rows in set (0.06 sec)

分享到:
评论

相关推荐

    Apache2.0.52+JDK5.0+Tomcat5.5.4.doc

    在这种配置中,Apache主要处理静态内容,而动态内容(如地图服务和相关Servlet)由Tomcat处理,两者通过JK2连接器协同工作,确保Web服务的高效运行。 总的来说,Apache2.0.52、JDK5.0和Tomcat5.5.4的组合是一个强大...

    hibernate5.5.4

    1. **对象关系映射(ORM)**: Hibernate作为ORM框架,通过提供Java类与数据库表之间的映射,简化了数据访问层的开发工作。开发者可以操作Java对象,而Hibernate负责将这些操作转换为相应的SQL语句。 2. **配置与...

    hibernate-entitymanager-5.5.4.Final.jar

    hibernate-entitymanager-5.5.4.Final

    Hibernate 5.5.4源码,文件

    在这个5.5.4版本的源码中,我们可以深入理解Hibernate的工作机制,以及其如何优雅地处理数据库交互。 1. **Hibernate ORM基本概念** Hibernate的核心功能在于将Java对象映射到数据库表,使得开发者可以避免编写...

    hibernate-search-5.5.4 api docset for Dash

    Hibernate Search通过将Lucene与Hibernate ORM结合,使得开发者可以方便地在数据库存储的数据上执行全文搜索。 3. **全文检索**:Hibernate Search支持对数据库中的文本字段进行全文检索,包括模糊匹配、近似搜索、...

    mysql5.5数据库安装包和驱动jar包

    这个压缩包包含了MySQL 5.5的安装程序和Java数据库连接器(JDBC)驱动,使得开发者能够在Java环境中与MySQL进行交互。 首先,让我们详细了解一下MySQL 5.5的主要特点和改进: 1. **性能优化**:MySQL 5.5引入了...

    mysql 依赖 驱动。5 - 8都有

    2. **ODBC驱动**:Open Database Connectivity (ODBC) 是一个用于数据库访问的API,允许跨平台的应用程序连接到各种数据库,包括MySQL。通过安装MySQL ODBC驱动,Windows上的应用程序可以通过ODBC数据源连接到MySQL...

    使用servlet和Java Bean访问MySQL的简单实例

    通过以上步骤,我们可以实现一个基本的Web应用程序,该程序能够利用Servlet和Java Bean技术访问MySQL数据库并展示查询结果。需要注意的是,实际开发中可能还需要考虑更多的安全性和性能优化措施。此外,随着技术的...

    Inno Setup 版本 5.5.4 中文帮助文档

    Inno Setup 版本 5.5.4 中文帮助文档

    主要用于日常的软件开发还有数据分析等,MySQL5.5.4环境,简单实用

    MySQL 5.5.4是MySQL数据库管理系统的一个版本,它在软件开发和数据分析领域中扮演着重要的角色。MySQL是一款开源、免费的关系型数据库管理系统(RDBMS),以其高效、稳定和易于管理的特点受到广泛欢迎。在本文中,...

    windows系统下jsp+mysql+tomcat的配置.docx

    - **安全性考虑**:在生产环境中部署应用时,务必加强安全措施,包括但不限于使用强密码、限制数据库访问权限等。 - **性能优化**:对于大型应用,可以通过调整JVM参数、优化SQL查询等方式提高应用的响应速度和资源...

    solr5.5.4&tomcat8.5.20 solr已经配置好,直接启动Tomcat即可

    solr5.5.4.war&tomcat8.5.20,solr环境已经配置好。直接启动Tomcat即可使用,使用的java环境是1.8的版本,低版本没测试过。solrHhome配置在Tomcat目录下,solr日志配置在Tomcat日志目录下。

    mysql-5.5.40-win64.rar

    在本压缩包“mysql-5.5.40-win64.rar”中,包含了用于在 Windows 64 位环境下安装 MySQL Server 5.5.40 的 MSI 安装程序。 MySQL 5.5 版本的主要改进和特点: 1. **InnoDB 存储引擎增强**:InnoDB 是 MySQL 默认的...

    mysql-connector-java-8.0.12.jar等包

    MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了JDBC(Java Database Connectivity)标准的驱动程序,允许Java开发者在Java应用中访问和操作MySQL数据库。标题中的"mysql-connector-java-...

    mysql-connector-java-8.0.30.tar

    3. **安装与使用**:解压`mysql-connector-java-8.0.30.tar`后,通常会得到一个`mysql-connector-java-8.0.30.jar`文件,将其添加到Java项目的类路径(classpath)中,就可以在Java代码中通过JDBC连接MySQL数据库。...

    MySQL 5.5.4M4发布.pdf

    MySQL 5.5.4M4发布.pdf

    mysql-connector-java-8.0.11

    在本案例中,我们讨论的是版本8.0.11,这是MySQL官方发布的针对Java的数据库连接器。这个压缩包包含了运行Java应用连接到MySQL服务器所需的所有文件。 首先,让我们深入了解JDBC。JDBC是Java编程语言中用于访问和...

    solr5.5.4部署及使用

    在本文档中,我们将详细介绍如何部署和使用 Solr 5.5.4 版本,包括两种常见的部署方式:Jetty 和 Tomcat,并涉及到中文分词器IKAnalyzer的集成以及对Word文档的支持。 首先,我们需要准备合适的环境,这里要求的是...

    毕业设计:基于SSM的 mysql-电器网上订购系统(源码 + 数据库 + 说明文档)

    毕业设计:基于SSM的 mysql_电器网上订购系统(源码 + 数据库 + 说明文档) 第2章 可行性分析 2 2.1 业务流程图 2 2.2 经济可行性 2 2.3 技术可行性 3 2.4 运行可行性 3 第3章 需求分析 4 3.1 发展情况 4 3.2 需求...

Global site tag (gtag.js) - Google Analytics