下载最新的hibernate3的jar包。http://www.hibernate.org/6.html
包括:Hibernate Core ,Hibernate Annotations ,Hibernate Validator
需要的jar列表如下(包括数据库jdbc)
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.4.GA.jar
jta-1.1.jar
slf4j-api-1.4.2.jar
hibernate-annotations.jar
ejb3-persistence.jar
hibernate-commons-annotations.jar
hibernate-validator.jar
hibernate3.jar
log4j.jar
slf4j-log4j12.jar
ehcache-1.2.3.jar
commons-logging-1.1.jar
mysql-connector-java-5.1.6-bin.jar
新建mysql数据库,名为global.
执行下面的sql文新建表
- CREATE TABLE `t_user` (
- `USR_ID` int(11) NOT NULL auto_increment,
- `USR_LNM` varchar(20) NOT NULL,
- `USR_PSW` varchar(128) NOT NULL,
- `USR_AST` varchar(2) NOT NULL,
- `USR_NAME` varchar(128) NOT NULL,
- `USR_LLDT` datetime default NULL,
- `USR_CNT` int(11) default NULL,
- `USR_LGIP` varchar(20) default NULL,
- PRIMARY KEY (`USR_ID`)
- ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=gbk;
自定义log4j.properties文件,这里略去。
hibernate.cfg.xml
- <?xml version='1.0' encoding='UTF-8'?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/global</property>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
- <property name="connection.username">root</property>
- <property name="connection.password">root</property>
- <property name="jdbc.fetch_size">50</property>
- <property name="jdbc.batch_size">30</property>
- <property name="show_sql">true</property>
- <property name="use_outer_join">true</property>
- <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
- <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
- <property name="hibernate.cache.use_query_cache">true</property>
- <mapping class="com.global.hb3.model.TUser"/>
- </session-factory>
- </hibernate-configuration>
TUser.java
- package com.global.hb3.model;
- import static javax.persistence.GenerationType.IDENTITY;
- import java.util.Date;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.Table;
- import javax.persistence.Temporal;
- import javax.persistence.TemporalType;
- import org.hibernate.validator.Length;
- import org.hibernate.validator.NotNull;
- @Entity
- @Table(name = "t_user")
- public class TUser implements java.io.Serializable {
- private static final long serialVersionUID = -8424250427606515536L;
- private Integer usrId;
- private String usrLnm;
- private String usrPsw;
- private String usrAst;
- private String usrName;
- private Date usrLldt;
- private Integer usrCnt;
- private String usrLgip;
- public TUser() {
- }
- public TUser(String usrLnm, String usrPsw, String usrAst, String usrName) {
- this.usrLnm = usrLnm;
- this.usrPsw = usrPsw;
- this.usrAst = usrAst;
- this.usrName = usrName;
- }
- public TUser(String usrLnm, String usrPsw, String usrAst, String usrName,
- Date usrLldt, Integer usrCnt, String usrLgip) {
- this.usrLnm = usrLnm;
- this.usrPsw = usrPsw;
- this.usrAst = usrAst;
- this.usrName = usrName;
- this.usrLldt = usrLldt;
- this.usrCnt = usrCnt;
- this.usrLgip = usrLgip;
- }
- @Id
- @GeneratedValue(strategy = IDENTITY)
- @Column(name = "USR_ID", unique = true, nullable = false)
- public Integer getUsrId() {
- return this.usrId;
- }
- public void setUsrId(Integer usrId) {
- this.usrId = usrId;
- }
- @Column(name = "USR_LNM", nullable = false, length = 20)
- @NotNull
- @Length(max = 20)
- public String getUsrLnm() {
- return this.usrLnm;
- }
- public void setUsrLnm(String usrLnm) {
- this.usrLnm = usrLnm;
- }
- @Column(name = "USR_PSW", nullable = false, length = 128)
- @NotNull
- @Length(max = 128)
- public String getUsrPsw() {
- return this.usrPsw;
- }
- public void setUsrPsw(String usrPsw) {
- this.usrPsw = usrPsw;
- }
- @Column(name = "USR_AST", nullable = false, length = 2)
- @NotNull
- @Length(max = 2)
- public String getUsrAst() {
- return this.usrAst;
- }
- public void setUsrAst(String usrAst) {
- this.usrAst = usrAst;
- }
- @Column(name = "USR_NAME", nullable = false, length = 128)
- @NotNull
- @Length(max = 128)
- public String getUsrName() {
- return this.usrName;
- }
- public void setUsrName(String usrName) {
- this.usrName = usrName;
- }
- @Temporal(TemporalType.TIMESTAMP)
- @Column(name = "USR_LLDT", length = 19)
- public Date getUsrLldt() {
- return this.usrLldt;
- }
- public void setUsrLldt(Date usrLldt) {
- this.usrLldt = usrLldt;
- }
- @Column(name = "USR_CNT")
- public Integer getUsrCnt() {
- return this.usrCnt;
- }
- public void setUsrCnt(Integer usrCnt) {
- this.usrCnt = usrCnt;
- }
- @Column(name = "USR_LGIP", length = 20)
- @Length(max = 20)
- public String getUsrLgip() {
- return this.usrLgip;
- }
- public void setUsrLgip(String usrLgip) {
- this.usrLgip = usrLgip;
- }
- // private String usrAstNm;
- //
- // @Formula(value = "(select d.DVS_NM from T_DIVISION d where d.DVS_CD = USR_AST AND d.DVS_NO = 1)")
- // public String getUsrAstNm() {
- // return usrAstNm;
- // }
- //
- // public void setUsrAstNm(String usrAstNm) {
- // this.usrAstNm = usrAstNm;
- // }
- }
BusinessService.java
- package com.global.hb3;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.Transaction;
- import org.hibernate.cfg.AnnotationConfiguration;
- import org.hibernate.cfg.Configuration;
- import com.global.hb3.model.TUser;
- public class BusinessService {
- public static SessionFactory sessionFactory;
- static {
- try {
- Configuration config = new AnnotationConfiguration().configure("hibernate.cfg.xml");
- sessionFactory = config.buildSessionFactory();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- Session session = sessionFactory.openSession();
- Transaction tx = null;
- try {
- tx = session.beginTransaction();
- TUser user = (TUser) session.get(TUser.class, new Integer(1));
- System.out.println(user.getUsrName());
- tx.commit();
- } catch (Exception e) {
- if (tx != null) {
- tx.rollback();
- }
- e.printStackTrace();
- } finally {
- session.close();
- }
- }
- }
本文介绍如何集成Hibernate3并创建一个简单的示例应用。通过配置文件、依赖项引入及实体映射,演示了如何实现与MySQL数据库的交互。
1832

被折叠的 条评论
为什么被折叠?



