hibernate一对多:hibernate3学习笔记(一)

news/2024/7/4 0:50:06 标签: hibernate, encoding, generator, 数据库, integer, user

 载最新hibernate资源:http://www.hibernate.org/6.html 本文使用最新 3.3.0 SP1 版本

  所需jar包列表如下:

antlr-2.7.6.jar
commons-collections-3.1.jar
commons-logging-1.1.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
ejb3-persistence.jar
hibernate3.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-validator.jar
javassist-3.4.GA.jar
jta-1.1.jar
log4j.jar
mysql-connector-java-5.1.6-bin.jar
slf4j-api-1.4.2.jar
slf4j-log4j12.jar

  hibernate.cfg.xml配置文件:

<?xmlversion='1.0'encoding='UTF-8'?>
<!DOCTYPEhibernate-configurationPUBLIC
  "-//Hibernate/HibernateConfigurationDTD3.0//EN"
  "
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <propertyname="hibernate.connection.driver_">com.mysql.jdbc.Driver</property>
    <propertyname="hibernate.connection.url">jdbc:mysql://localhost:3306/hb3demo</property>
    <propertyname="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
    <propertyname="connection.username">root</property>
    <propertyname="connection.password">root</property>
    <propertyname="jdbc.fetch_size">50</property>
    <propertyname="jdbc.batch_size">30</property>
    <propertyname="show_sql">true</property>
    <propertyname="use_outer_join">true</property>
    <propertyname="transaction.factory_">org.hibernate.transaction.JDBCTransactionFactory</property>
    <propertyname="hibernate.cache.provider_">org.hibernate.cache.EhCacheProvider</property>
    <propertyname="hibernate.cache.use_query_cache">true</property>
    <mappingresource="com/hb3/pack_01/model/User.hbm.xml"/>
  </session-factory>
</hibernate-configuration>

  log4j.properties

log4j.rootLogger=warn,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L-%m%n

  User.java

packagecom.hb3.pack_01.model;
publicUser{
  privateIntegerid;
  privateStringname;
  privateIntegerage;
  publicIntegergetId{
    id;
  }
  publicvoidId(Integerid){
    this.id=id;
  }
  publicStringgetName{
    name;
  }
  publicvoidName(Stringname){
    this.name=name;
  }
  publicIntegergetAge{
    age;
  }
  publicvoidAge(Integerage){
    this.age=age;
  }
}

  User.hbm.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEhibernate-mappingPUBLIC
  "-//Hibernate/HibernateMappingDTD3.0//EN" 
  "
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
  <name="com.hb3.pack_01.model.User"table="user">
    <idname="id"column="id"type="java.lang.Integer">
      <generator="native"/>
    </id>
    <propertyname="name"column="name"type="java.lang.String"/>
    <propertyname="age"column="age"type="java.lang.Integer"/>
  </>
</hibernate-mapping>

  BusinessService.java

packagecom.hb3.pack_01;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.Transaction;
importorg.hibernate.cfg.Configuration;
importcom.hb3.pack_01.model.User;
publicBusinessService{
  publicvoid(Stringargs){
    Configurationconfig=Configuration.configure;
    SessionFactorysessionFactory=config.buildSessionFactory;   
    Sessionsession=sessionFactory.openSession;
    Useruser=User;
    user.Name("shenbin");
    user.Age(Integer(28));    
    Transactiontx=session.beginTransaction; 
    session.save(user);     
    tx.commit;
    session.close;
    sessionFactory.close;
  }
}

  在MySQL数据库中新建数据库hb3demo并执行如下DDL

CREATETABLEuser(
  idINT(11)NOTNULLauto_incrementPRIMARYKEY,
  nameVARCHAR(100)NOTNULLdefault'',
  ageINT
);

  这样就可以使用hibernate向数据库插入数据了


http://www.niftyadmin.cn/n/1051106.html

相关文章

MySQL练习题--sqlzoo刷题2

SELECT from Nobel Tutorial 1、Change the query shown so that it displays Nobel prizes for 1950. SELECT yr, subject, winnerFROM nobelWHERE yr 1950&#xff1b; 2、Show who won the 1962 prize for Literature. select winner from nobel where yr1962 and subjectl…

记录开发环境配置 MySql(5.7.17)+EF6.x+VS2017(15.7.1)

主要记录下本人实际开发环境下&#xff0c;生成实体数据模型时&#xff0c;各个组件的版本号。折腾了一阵至少跑起来了&#xff0c;还算欣慰。 mysql数据库百度个zip的就可以了。我用的是5.7.17版本。 下载地址&#xff1a;https://dev.mysql.com/downloads/file/?id467269 配…

Spring和Spring Mvc整合详解

Spring和Spring Mvc整合详解 官方主页 Spring Spring Mvc SpringMvc 5&#xff0c;可以参考这一篇《Spring和Spring Mvc 5整合详解》 概述 Spring Mvc的启动方式不同于Spring Boot&#xff0c;Spring Boot内嵌了tomcat容器&#xff0c;可以打包成jar文件快速启动。Spring…

Struts2+Spring+Hibernate环境搭建介绍(转)

Struts2SpringHibernate搭建全解&#xff01;Struts2SpringHibernate是J2EE的最新流行框架。本篇是我搭建这个框架的经验总结&#xff0c;有很多人搭建这个框架总会遇到 大大小小的问题&#xff0c;网上也没有什么行之有效的方案或成体系的介绍&#xff0c;所以我就决定总结一…

牛客练习赛 26 B题 烟花【DP】(经典)

<题目链接> 题目描述 小a有$n$个烟花&#xff0c;每个烟花代表着互不相同的颜色&#xff0c;对于第$i$个烟花&#xff0c;它有$p_i$的概率点燃&#xff0c;现在小a要去点燃它们&#xff0c;他想知道产生颜色的期望个数 及 产生恰好产生$k$种颜色的概率。对于$100%$的数据…

2017年买卖6只股票的分析

1. 第一只股票&#xff0c;亚玛顿&#xff0c;6月15号买入&#xff0c;如果是现在的我&#xff0c;一定不会买&#xff0c;股价在均线一下&#xff0c;全部均线下跌&#xff0c;来看一下当时买入的原因在&#xff0c;底部放量&#xff0c;上升&#xff0c;周代远昨天推荐&#…

Spring和Email整合详解

Spring和Email整合详解 官方主页 Spring Email 概述 Spring Mail API都在org.springframework.mail及其子包org.springframework.mail.javamail中封装。 JavaMailSenderImpl: 邮件发送器&#xff0c;主要提供了邮件发送接口、透明创建Java Mail的MimeMessage、及邮件发送的…

JavaScript中值类型与引用类型

JavaScript中的变量类型有哪些&#xff1f; 值类型&#xff1a;字符串&#xff08;string&#xff09;、数值&#xff08;number&#xff09;、布尔值&#xff08;boolean&#xff09;、null、undefined引用类型&#xff1a;对象&#xff08;Object&#xff09;、数组&#xff…