Hibernate使用tomcat5.5连接池 作者:幻隐
来源:互联网 发布:怎么注册不了淘宝账号 编辑:程序博客网 时间:2024/05/17 22:14
Hibernate使用tomcat5.5连接池
在使用DAO来访问持久数据层,个人觉得系统运行效率较高,但是开发量和维护量太大。Hibernate很久前就了解了很多,但一直没有使用,现在开始尝试在一些小系统中使用Hibernate。
对于数据源,很多系统都在使用application
server来管理连接池。Hibernate支持JNDI来获取连接。昨晚看了一些网络文档,很多网友在配置描述中都说这是一件简单的事情,结果我折腾了一个晚上,没有解决问题,今天早上再仔细一看,是自己connection.datasource配置写错了。
以下是一些手记:
我使用mysql来做数据存储,数据库名称-server,插入表 create table `server`.`user`(
`ID` int(11) PRIMARY KEY not null,
`USERNAME` varchar(12) not null,
`PASSWORD` varchar(12))
tomcat5.5配置 <!-- server.xml -->
<Resource name="DBserver"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="org.gjt.mm.mysql.Driver"
maxIdle="2000"
maxWait="5000"
url="jdbc:mysql://localhost:3306/server"
maxActive="20"/>
<!-- context.xml -->
<Context>
<WatchedResource>WEB-INF/web.xml
</WatchedResource>
<ResourceLink global="DBserver"
name="DBserver"
type="javax.sql.DataSource"/>
</Context>
我用Myeclipse生成了user的持久对象 package cn.edu.ynu.db;
/**
* User generated by MyEclipse - Hibernate Tools
*/
public class User implements java.io.Serializable {
// Fields
private int id;
private String username;
private String password;
// Constructors
/** default constructor */
public User() {
}
/** minimal constructor */
public User(int id, String username) {
this.id = id;
this.username = username;
}
/** full constructor */
public User(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
// Property accessors
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
}
跟User.java有相同路径的hibernate对象描述文件User.hbm.xml <?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping
DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
<class name="cn.edu.ynu.db.User" table="user">
<id name="id" type="int">
<column name="ID" />
<generator class="increment" />
</id>
<property name="username" type="string">
<column name="USERNAME" length="12" not-null="true" />
</property>
<property name="password" type="string">
<column name="PASSWORD" length="12" />
</property>
</class>
</hibernate-mapping>
Hibernate配置文件,在MyEclipse环境下,hibernate.cfg.xml在src目录下。对于connection.datasource,应该写全JNDI名称,而不是server.xml里面的Resource
name。 <?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property
name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<property
name="connection.datasource">java:comp/env/DBserver</property>
<mapping resource="cn/edu/ynu/db/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
编写一个jsp测试文件,在J2EE环境下,使用jsp做测试比较便利。Configuration类的configure()方法是一个使用默认配置文件的初始化方法。它会读取classpath中的hibernate.cfg.xml进行配置。
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="net.sf.hibernate.*"%>
<%@ page import="net.sf.hibernate.cfg.*"%>
<%@ page import="cn.edu.ynu.db.*"%>
<%
try {
SessionFactory sf = new
Configuration().configure().buildSessionFactory();
Session dbsession = sf.openSession();
Transaction tx = dbsession.beginTransaction();
for (int i = 0; i <200; i++) {
User user = new User();
user.setUsername("username" + i);
user.setPassword("username");
dbsession.save(user);
out.println("insert user:"+user.getUsername()+"<br>");
}
tx.commit();
dbsession.close();
} catch (HibernateException e) {
e.printStackTrace();
}
%>
- Hibernate使用tomcat5.5连接池 作者:幻隐
- hibernate使用tomcat5.5.9连接池
- tomcat5.5 mysql使用DBCP连接池
- Tomcat5.5 连接池
- tomcat5.5连接池配置
- Tomcat5.5配置连接池
- Tomcat5.5配置连接池
- Tomcat5.5 连接池配置
- tomcat5.5连接池配置
- tomcat5.5 配置oracle连接池
- Tomcat5.5的Mysql连接池配置
- tomcat5.5的DBCP连接池配置
- Tomcat5.5连接池的配置
- tomcat5.5+oracle10g数据连接池配置
- 在Tomcat5.5中配置连接池
- tomcat5.5 oracle连接池配置说明
- tomcat5.5 配置 dbcp 连接池
- tomcat5.5 连接池 域名配置
- J2EE技术白皮书 摘抄
- linux 下开发C++
- 数据库基础知识学习
- 英文谚语500句
- 元稹是怎样怀念妻子的
- Hibernate使用tomcat5.5连接池 作者:幻隐
- PDF文件与Word文档之间自由转换
- 谨慎使用类变量及正确使用单例模式
- vs2005下彩色验证码的实现(可自由定义是否加入干扰点、验证码位数等验证码显示效果)
- 一个c#上传的程序,可以生成缩略图也可以自由添加水印效果
- 如何使用VSS-由帖子整理
- 网库黄页董事长兼CEO王海波演讲
- InstallShield10.5中项目选择的简单介绍(InstallShield10.5从入门到精通一)
- 项目开发不能没有开发文档,同时要降低开发文档的使用和管理成本