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("添加失败,回滚"); } } }
相关推荐
- 如果单独使用Spring,需要配置Spring的缓存管理器,并关联xmemcache-spring的相关配置。 - 在需要缓存的方法上使用Spring的缓存注解。 8. **实际应用**:这种配置适用于高并发、读多写少的Web应用,例如电子...
在单独的Proxool配置文件中定义数据库连接参数;最后确保这些配置与实际的数据库连接信息匹配,以保证连接池的正常工作。这样的配置使得应用程序在处理大量并发请求时,能更高效地管理和使用数据库资源。
- 创建`SessionFactory`实例时,建议将Hibernate的配置信息直接写入Spring的配置文件中,而不是单独创建一个`hibernate.cfg.xml`文件。这是因为如果使用单独的`hibernate.cfg.xml`,可能会导致Spring无法找到数据源...
《Hibernate各类映射文件与配置文件模板》是一个包含多种Hibernate映射和配置示例的压缩包,用于帮助开发者理解和使用Hibernate框架。Hibernate是Java领域的一个流行的对象关系映射(ORM)框架,它允许开发者用面向...
使用注解配置可以避免单独的映射文件,直接在实体类上标注`@Entity`,属性上标注`@Id`、`@Column`等,实现对象与数据库表的映射。 6. **SessionFactory和Session** `SessionFactory`是线程安全的,整个应用只需要...
在使用Hibernate时,正确选择和配置cascade选项对于高效地管理和维护实体之间的关系至关重要。通过了解不同选项的特点和应用场景,开发人员可以更加灵活地应对各种业务需求,同时也能够有效地避免潜在的数据一致性...
这些驱动包通常不在Hibernate核心库中,需要单独提供,确保与所用数据库版本兼容。 5. Hibernate配置文件:一个典型的Hibernate配置文件名为hibernate.cfg.xml,它定义了数据库连接信息(如URL、用户名、密码)、...
在单元测试中使用Hibernate,我们通常需要一个单独的配置文件,不同于生产环境的配置。这是因为测试环境中,我们不希望依赖真实的数据库,而是使用内存数据库(如HSQLDB、Derby等)来快速启动和关闭,同时避免对真实...
### Hibernate4之JPA规范配置详解 #### 一、`@Table` 注解 `@Table` 是一个非常重要的注解,它用于定义实体映射的主表信息,包括表名、目录、模式以及唯一约束等。以下是 `@Table` 的主要属性: - **name**:指定...
总结来说,Hibernate通过配置文件和实体类实现了对BLOB和CLOB类型的支持,允许开发者在Java代码中方便地操作大数据。通过SessionFactory和Session接口,我们可以进行数据的增删改查操作,同时注意数据库的性能优化,...
4. **Proxool配置文件**:有时候,Proxool需要一个单独的配置文件(如`proxool.properties`),如果你使用了这个文件,确保它被正确地加载并且包含有效的配置。 5. **编码问题**:如果配置文件是UTF-8编码,但系统...
【描述】中的"绝对真实有效,共享给大家"表明这个配置包经过了作者的验证,可以正常工作,无需开发者逐一下载和配置每个框架的单独组件,节省了时间和精力。这通常意味着作者已经处理好了框架之间的版本兼容性问题,...
标题“Hibernate的三种配置方式”指的是Hibernate框架中用于连接数据库的不同配置方法。Hibernate是一个流行的Java持久层框架,它简化了数据库操作,通过对象关系映射(ORM)技术将Java对象与数据库表进行绑定。在这...
此外,Hibernate还支持组件映射,通过`component`元素,可以将对象的内部结构映射到单独的数据库表或表的一部分。组件可以包含属性、其他组件甚至集合。`component`元素的`name`属性指定了属性名,`class`属性是组件...
- 可能会提到一些开发工具,如Eclipse、IntelliJ IDEA中如何配置和调试与Clob和Blob相关的代码,或者使用数据库管理工具如SQL Developer进行数据查看和操作。 7. **示例代码**: - 包含在`bigstring_oracle_src`...
需要创建一个单独的XML文件来管理连接池,然后在Hibernate配置文件中引用它。首先确保引入`proxool-0.8.3.jar`,然后配置如下: ```xml <!-- 在Hibernate配置文件中 --> <property name="hibernate.connection....
由于这个集合中没有包含二级缓存的jar包,意味着开发者可能需要单独配置或从其他来源获取二级缓存支持。 【标签】:Hibernate 【压缩包子文件的文件名称列表】:'hibernate' 基于这个列表,可以推测压缩包内可能...
在 Hibernate 中,配置是至关重要的,它决定了数据如何被持久化到数据库中。以下是一些关于 Hibernate 常用配置的详细解释,特别是关于关联关系映射的部分: 1. 单向多对一关联: - 在这种关联中,一个实体(如 `...
本案例中,开发者遇到了一个与Hibernate映射配置文件相关的异常,该异常涉及到不支持的“union”联合查询。具体表现为在执行查询时抛出了`SQLGrammarException`,提示为`ORA-00907: 缺失右括号`,这通常意味着SQL...
在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....