`

hibernate 单独配置

 
阅读更多

Hibernate配置:

  • 数据库连接配置文件,路径随意

名称为hibernate.cfg.xml

 

// 读取默认配置文件
cfg = new Configuration().configure();

 

 名称为自定义

 

// 读取自定义配置文件
cfg = new Configuration().configure("自定义.xml");

 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>  
        <!-- 设置数据库URL -->  
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>  
        <!-- 数据库用户名 -->  
        <property name="hibernate.connection.username">root</property>  
        <!-- 数据库密码 -->  
        <property name="hibernate.connection.password">whenjun</property>  
        <!-- 指定对应数据库的方言,hibernate为了更好适配各种关系数据库,针对每种数据库都指定了一个方言dialect -->  
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>  
          
        <!-- 映射文件 -->  
        <mapping resource="com/whenjun/entity/hbm/User.hbm.xml"/>  
    </session-factory>  
</hibernate-configuration>

 

entity映射文件名称随意,一般为 entity.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">  
     
<!-- 设置是否使用代理对象 default-lazy="false" --> 
<hibernate-mapping default-lazy="false">  
    <class name="com.whenjun.entity.User">  
        <id name="id">  
        	<!-- hibernate自己生成uuid -->
            <!-- <generator class="uuid.hex"/>   -->
        </id>  
        <property name="username"/>  
        <property name="password"/>  
    </class>  
</hibernate-mapping>  

 entity类

@Entity
@Table(name="user")
public class User implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "id", nullable = false)
	private String id;
	
	@Column(length=255) 
	private String username;
	
	@Column(length=255) 
	private String password;
	
	public User(){}
	
	public User(String id,String username,String password){
		this.id=id;
		this.username=username;
		this.password=password;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
	
	@Override
	public String toString(){
		return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
	}
}

 test

public class JTest {

	private Configuration cfg = null;

	private SessionFactory factory = null;

	private Session session = null;

	@Before
	public void before() {
		// 读取配置文件
		cfg = new Configuration().configure();

		factory = cfg.buildSessionFactory();

		session = factory.openSession();

		System.out.println("session开启成功");
	}

	@After
	public void after() {
		if (session != null) {
			if (session.isOpen()) {
				// 关闭session
				session.close();
				System.out.println("session关闭");
			}
		}
		if(factory!=null){
			factory.close();
			System.out.println("sessionFactory关闭");
		}
	}
/****
	 * 新增
	 * 
	 * @date 2017年5月4日
	 * @author wanwenjun
	 */
	@Test
	public void save() {
		try {
			session.beginTransaction();

			String id = UUID.randomUUID().toString();
			
			System.out.println(id);
			User user = new User();
			user.setId(id);
			user.setUsername("搜索");
			user.setPassword("2321");

			session.save(user);
			
			// 提交事务
			session.getTransaction().commit();

			System.out.println("添加成功");
		} catch (Exception e) {
			e.printStackTrace();
			// 回滚事务
			session.getTransaction().rollback();
			System.out.println("添加失败,回滚");
		}
	}
}

 

 

 

分享到:
评论

相关推荐

    memcache也spring,hibernate的配置

    - 如果单独使用Spring,需要配置Spring的缓存管理器,并关联xmemcache-spring的相关配置。 - 在需要缓存的方法上使用Spring的缓存注解。 8. **实际应用**:这种配置适用于高并发、读多写少的Web应用,例如电子...

    在Hibernate中配置Proxool连接池

    在单独的Proxool配置文件中定义数据库连接参数;最后确保这些配置与实际的数据库连接信息匹配,以保证连接池的正常工作。这样的配置使得应用程序在处理大量并发请求时,能更高效地管理和使用数据库资源。

    Hibernate4.1环境搭建

    - 创建`SessionFactory`实例时,建议将Hibernate的配置信息直接写入Spring的配置文件中,而不是单独创建一个`hibernate.cfg.xml`文件。这是因为如果使用单独的`hibernate.cfg.xml`,可能会导致Spring无法找到数据源...

    《Hibernate 各类映射文件与配置文件模板》HibernateMappingConfig.zip

    《Hibernate各类映射文件与配置文件模板》是一个包含多种Hibernate映射和配置示例的压缩包,用于帮助开发者理解和使用Hibernate框架。Hibernate是Java领域的一个流行的对象关系映射(ORM)框架,它允许开发者用面向...

    Hibernate配置

    使用注解配置可以避免单独的映射文件,直接在实体类上标注`@Entity`,属性上标注`@Id`、`@Column`等,实现对象与数据库表的映射。 6. **SessionFactory和Session** `SessionFactory`是线程安全的,整个应用只需要...

    hibernate_配置cascade_及all-delete-orphan.doc

    在使用Hibernate时,正确选择和配置cascade选项对于高效地管理和维护实体之间的关系至关重要。通过了解不同选项的特点和应用场景,开发人员可以更加灵活地应对各种业务需求,同时也能够有效地避免潜在的数据一致性...

    hibernate5.2基础jar包以及配置文件

    这些驱动包通常不在Hibernate核心库中,需要单独提供,确保与所用数据库版本兼容。 5. Hibernate配置文件:一个典型的Hibernate配置文件名为hibernate.cfg.xml,它定义了数据库连接信息(如URL、用户名、密码)、...

    Hibernate配置文件在单元测试中的应用

    在单元测试中使用Hibernate,我们通常需要一个单独的配置文件,不同于生产环境的配置。这是因为测试环境中,我们不希望依赖真实的数据库,而是使用内存数据库(如HSQLDB、Derby等)来快速启动和关闭,同时避免对真实...

    Hibernate4之JPA规范配置详解

    ### Hibernate4之JPA规范配置详解 #### 一、`@Table` 注解 `@Table` 是一个非常重要的注解,它用于定义实体映射的主表信息,包括表名、目录、模式以及唯一约束等。以下是 `@Table` 的主要属性: - **name**:指定...

    Hibernate对BLOB CLOB操作

    总结来说,Hibernate通过配置文件和实体类实现了对BLOB和CLOB类型的支持,允许开发者在Java代码中方便地操作大数据。通过SessionFactory和Session接口,我们可以进行数据的增删改查操作,同时注意数据库的性能优化,...

    hibernate4.1.4中hibernate+Proxool无法实现加载Proxool的配置文件解决办法及jar包

    4. **Proxool配置文件**:有时候,Proxool需要一个单独的配置文件(如`proxool.properties`),如果你使用了这个文件,确保它被正确地加载并且包含有效的配置。 5. **编码问题**:如果配置文件是UTF-8编码,但系统...

    webwork+hibernate+spring配置包

    【描述】中的"绝对真实有效,共享给大家"表明这个配置包经过了作者的验证,可以正常工作,无需开发者逐一下载和配置每个框架的单独组件,节省了时间和精力。这通常意味着作者已经处理好了框架之间的版本兼容性问题,...

    Hibernate的三种配置方式

    标题“Hibernate的三种配置方式”指的是Hibernate框架中用于连接数据库的不同配置方法。Hibernate是一个流行的Java持久层框架,它简化了数据库操作,通过对象关系映射(ORM)技术将Java对象与数据库表进行绑定。在这...

    对Hibernate配置文件中的映射元素详解

    此外,Hibernate还支持组件映射,通过`component`元素,可以将对象的内部结构映射到单独的数据库表或表的一部分。组件可以包含属性、其他组件甚至集合。`component`元素的`name`属性指定了属性名,`class`属性是组件...

    Hibernate操作Oarcle中Clob、Blob字段小结

    - 可能会提到一些开发工具,如Eclipse、IntelliJ IDEA中如何配置和调试与Clob和Blob相关的代码,或者使用数据库管理工具如SQL Developer进行数据查看和操作。 7. **示例代码**: - 包含在`bigstring_oracle_src`...

    Hibernate3.2连接池

    需要创建一个单独的XML文件来管理连接池,然后在Hibernate配置文件中引用它。首先确保引入`proxool-0.8.3.jar`,然后配置如下: ```xml &lt;!-- 在Hibernate配置文件中 --&gt; &lt;property name="hibernate.connection....

    hibernate开发jar包

    由于这个集合中没有包含二级缓存的jar包,意味着开发者可能需要单独配置或从其他来源获取二级缓存支持。 【标签】:Hibernate 【压缩包子文件的文件名称列表】:'hibernate' 基于这个列表,可以推测压缩包内可能...

    hibernate常用配置

    在 Hibernate 中,配置是至关重要的,它决定了数据如何被持久化到数据库中。以下是一些关于 Hibernate 常用配置的详细解释,特别是关于关联关系映射的部分: 1. 单向多对一关联: - 在这种关联中,一个实体(如 `...

    hibernate映射配置文件不支持union联合查询[参照].pdf

    本案例中,开发者遇到了一个与Hibernate映射配置文件相关的异常,该异常涉及到不支持的“union”联合查询。具体表现为在执行查询时抛出了`SQLGrammarException`,提示为`ORA-00907: 缺失右括号`,这通常意味着SQL...

    ssh(struts2.2.1+_hibernate3.6+spring3.0.5)整合配置

    在Hibernate3.6.0中,不再需要单独添加jar文件来支持Annotation。你需要的jar包包括: - hibernate3.jar - antlr-2.7.6.jar - commons-collections-3.1.jar - dom4j-1.6.1.jar - javassist-3.12.0.GA.jar - jta-1.1....

Global site tag (gtag.js) - Google Analytics