hibernate框架(篇1)

来源:互联网 发布:sql查询语句实例股票 编辑:程序博客网 时间:2024/06/04 19:47

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 stubConfiguration config = new Configuration().configure();ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();SessionFactory factory = config.buildSessionFactory(serviceRegistry);        //提供每次操作的sessionSession  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();}}




0 0
原创粉丝点击