1.创建学生类
package com.day02;
public class Student {
private int id;//定义成整形,但也可定义成字符串,但字符串有时不行,好奇怪。还是定义成整形。
private String name;
private int age;
private String address;
public Student(){}
public Student(int id, String name, int age, String address) {
super();
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
2.写配置文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.day02">
<class name="Student" table="Student">
<id name="id" column="oid">
<generator class="native">
</generator>
</id>
<property name="name" column="t_name"></property>
<property name="age" column="t_age"></property>
<property name="address" column="t_address"></property>
</class>
</hibernate-mapping>
3.配置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">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="connection.username">root</property>
<property name="connection.url">jdbc:mysql://127.0.0.1/xiaogu</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="myeclipse.connection.profile">com.mysql.jdbc.Driver</property>
<property name="connection.password">root</property>
<property name="hbm2ddl.auto">create</property
>//它就是创建表时,需添加的代码,但是有时不行,不知道怎么回事这时你需要改为<property name="hibernate.hbm2ddl.auto">create</property>。
如果还不行,使用第二种方法。 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<mapping
resource="com/day02/Student.hbm.xml" />
<mapping
resource="com/day02/Account.hbm.xml" />
</session-factory>
</hibernate-configuration>
4.定义工具类
package com.day02;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HbnUtil {
private static SessionFactory sf;
static{
sf=new Configuration()
.configure("hibernate.cfg.xml")
.buildSessionFactory();
}
public static Session getSession(){
return sf.openSession();
}
public static void closeSessionFactory(){
if(!sf.isClosed()){
sf.close();
}
}
}
5.写测试类
package com.day02;
import org.hibernate.Session;
public class Test {
public static void main(String[] args) {
Student stu=new Student();
stu.setAddress("hebei");
stu.setAge(23);
stu.setName("xiaogu");
Session session=HbnUtil.getSession();
session.beginTransaction();
session.save(stu);
session.getTransaction().commit();
session.close();
}
}
分享到:
相关推荐
标题"Hibernate自动创建表结构示例--Oracle"表明我们将使用Hibernate在Oracle数据库中自动生成表结构,这是通过Hibernate的`hibernate.hbm2ddl.auto`配置属性实现的。这个属性可以设置为"create"、"update"、...
6. **运行应用**:启动应用,Hibernate会根据实体类和配置自动创建相应的数据库表。 在提供的链接`https://purplesunset.iteye.com/blog/500979`中,可能详细阐述了这些步骤,并给出了更多实践示例。在实际项目中,...
当运行这个程序时,Hibernate会检查配置,并根据实体类自动创建相应的数据库表。在完成所有操作后,关闭SessionFactory以释放资源。 总的来说,通过使用Hibernate的注解和自动建表功能,我们可以轻松地在Java应用中...
现在,当我们运行应用时,Hibernate会根据我们的实体类自动创建对应的数据库表。在上述`User`类的例子中,它会在数据库中创建一个名为`User`的表,包含`id`、`name`和`email`三个字段。 然而,`sql.sql`文件可能...
综上所述,通过正确配置`hibernate.hbm2ddl.auto`、实体类扫描和数据源,可以实现Hibernate自动创建和管理数据库表的功能,极大地简化了开发过程。但务必注意,在生产环境中谨慎使用`create`和`create-drop`,以防止...
要让Hibernate自动生成表,我们需要在配置文件中开启自动创建或更新模式。以下是一个示例配置: ```xml <hibernate-configuration> <!-- 数据库连接信息 --> <property name="hibernate.connection.driver_...
通过这些注解和配置,开发者可以快速地建立Java对象与数据库表之间的映射,并利用Hibernate自动创建数据库表,大大提高了开发效率。在实际项目中,结合Spring等框架,可以实现更高效、便捷的数据库操作。 在提供的...
总的来说,"Hibernate自动生成持久化类和映射文件"是myEclipse提供的一种便捷工具,它帮助开发者快速地将数据库表结构转化为Java对象,简化了开发流程,使开发者能够更加专注于业务逻辑的实现,而不是底层的数据库...
如果想让Hibernate自动创建或更新数据库结构,包括索引,我们需要将这个属性设置为"create"、"create-drop"或者"update"。 但是,即使设置了正确的`hibernate.hbm2ddl.auto`,依然可能出现不自动创建索引的情况。这...
例如,`create`会根据实体类自动创建数据库表,`update`则会在已有表的基础上更新结构,而`validate`只会验证数据库结构是否与实体类匹配,不进行任何修改。 6. **数据库连接**:Hibernate需要数据库连接才能执行...
1. **依赖注入(Dependency Injection,DI)**:Spring通过XML配置或注解方式,将Hibernate的相关组件如SessionFactory、Session等注入到需要使用它们的类中,避免了手动创建和管理这些对象。 2. **事务管理...
产生原因:因为使用 jpa 自动创建表的时候,采用的是TreeMap的,我们要变成LinkedHashMap 的结构。 解决方案:在项目下java文件夹下创建包名为: org.hibernate.cfg ,创建类: PropertyContainer [包名,类名...
MyEclipse中自动生成Hibernate的POJO、DAO和hbm.xml文件 MyEclipse是一款功能强大且流行的集成开发环境(IDE),它提供了许多实用的功能来帮助开发者快速构建和维护项目。其中,MyEclipse提供了对Hibernate的支持,...
- **快速开发测试环境**:对于快速搭建的测试环境,可以自动创建数据库表,节省时间。 - **自动化部署**:在持续集成/持续部署 (CI/CD) 流程中,自动化的数据库表生成有助于简化部署流程。 #### 五、总结 利用 ...
6. **用Hibernate自动生成配置文件**:选择数据库中的目标表,如`t_user`,通过右键菜单选择“HibernateReverseEngineering”,根据提示逐步填写相关信息,包括主键类型、对应的Java类名及包名等,最后点击“Finish...
1. **配置Hibernate的自动DDL生成**:默认情况下,Hibernate提供了`hibernate.hbm2ddl.auto`属性,可以设置为"create"、"update"等值,使得在应用启动时根据实体类自动创建或更新数据库表。为了实现自动新增参数,...
Hibernate是一款强大的Java持久化...总之,Hibernate的自动代码生成功能为Java开发者提供了一种高效的方式,简化了数据库操作和对象模型的创建,使得开发人员可以更专注于业务逻辑的实现,从而提高整体项目的生产力。