您的位置:首页 > 其它

hibernate框架(篇1)

2016-07-19 10:35 190 查看
1.创建一个model层,写一个UserInfo的实体类

package com.gxa.bj.model;

public class UserInfo {
private Integer userId;
private String userName;
private String userPwd;
private String flag;
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}

}2.编写UserInfo.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 package="com.gxa.bj.model" >
<class name="UserInfo" table="UserInfo">
<!-- 主键生成策略 -->
<id name="userId" type="java.lang.Integer">
<!-- 数据库列的名称 -->
<column name="userId"></column>
<!-- 如何生成ID号 -->
<generator class="sequence">
<!-- 序列名称 -->
<param name="sequence">usernext</param>
</generator>

</id>
<!-- 字段对应数据库列名 -->
<property name="userPwd" column="userPwd"></property>
<property name="userName" column="userName"></property>
<property name="flag" column="flag"></property>
</class>
</hibernate-mapping>3.编写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-3.0.dtd">

<hibernate-configuration>
<session-factory>
<!-- 数据库方言 -->
<property name="dialect">
org.hibernate.dialect.OracleDialect
</property>
<!-- 连接字符串 -->
<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:orcl
</property>
<!-- 用户名 -->
<property name="connection.username">ErpSystem</property>
<!-- 密码 -->
<property name="connection.password">123</property>
<!-- 数据库的连接驱动 -->
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<!-- 是否根据实体对象生成新的表 -->
<property name="hbm2ddl.auto">update</property>
<!-- 是否打印显示sql语句 -->
<property name="show_sql">true</property>
<!-- C3P0连接池的配置 -->
<property name="connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
<!-- 最小连接数 -->
<property name="c3p0.min_size">5</property>
<!-- 最大连接数 -->
<property name="c3p0.max_size">20</property>
<!-- 连接的最大空闲时间,时间为秒 -->
<property name="c3p0.timeout">3600</property>
<!-- 最大的statement数 -->
<property name="c3p0.max_statements">50</property>
<!-- 每隔多少时间检查连接池的空闲连接,时间为秒 -->
<property name="c3p0.idle_test_period">120</property>
<!-- 连接池用完之后新建的连接数量 -->
<property name="c3p0.acquire_increment">2</property>
<mapping resource="com/gxa/bj/model/UserInfo.hbm.xml"></mapping>
</session-factory>

</hibernate-configuration>4.编写一个测试类
package com.gxa.bj.test;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

import com.gxa.bj.model.UserInfo;

public class TestUI {

public static void main(String[] args) {
// TODO Auto-generated method stub
Configuration config = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
SessionFactory factory = config.buildSessionFactory(serviceRegistry);
//提供每次操作的session
Session session = factory.openSession();
//添加操作
/*UserInfo u=new UserInfo();
u.setUserName("张三");
u.setUserPwd("123");
u.setFlag("超级管理员");
session.beginTransaction();
session.save(u);
session.getTransaction().commit();
session.close();
System.out.println("添加成功");*/

//删除操作
/*session.beginTransaction();
UserInfo u2=(UserInfo)session.get(UserInfo.class,5);
session.delete(u2);
session.getTransaction().commit();
session.close();
System.out.println("删除成功");*/

//更新操作
/*session.beginTransaction();
UserInfo u3=(UserInfo)session.get(UserInfo.class,6);
u3.setUserName("老王");
session.update(u3);
session.getTransaction().commit();
session.close();
System.out.println("更新成功");*/

//查询
List<UserInfo> list=session.createQuery("From UserInfo").list();
for(UserInfo us:list){
System.out.println("姓名:"+us.getUserName()+",密码:"+us.getUserPwd());
}
session.close();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: