zoukankan      html  css  js  c++  java
  • Hibernate_根据配置文件反向生成表格

    MyEclipse可以帮助Hibernate根据数据库中的表格生成配置文件和实体类,可以查看MyEclipse中配置Hibernate一文。

    也可以根据编写好的实体类和配置文件,在数据库中创建相应的表格。

    具体步骤如下:

    1.编写好实体类和配置文件:

    Book.java:

    public class Book {
        //编号
        private long id;
        //书名
        private String name;
        //价格
        private double price;
        //作者
        private String author;
      //省略getter和setter
    }

    Book.hbm.xml:

     1 <hibernate-mapping>
     2     <class name="com.sunflower.tableentity.Book" table="book">
     3         <id name="id" type="long">
     4             <column name="book_id"></column>
     5             <generator class="increment"></generator>
     6         </id>
     7 
     8         <property name="name" column="name" type="string"></property>
     9         <property name="price" column="price" type="double"></property>
    10         <property name="author" column="author" type="string"></property>
    11     </class>
    12 </hibernate-mapping>

    其中属性的类型和数据库的对应关系,可以查看java类型,Hibernate类型和数据库类型之间的对应关系一文。

    hibernate.cfg.xml:

     1 <hibernate-configuration>
     2 
     3     <session-factory>
     4         <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
     5         <property name="connection.url">jdbc:mysql://localhost:3306/book</property>
     6         <property name="connection.username">×××××</property>
     7         <property name="connection.password">×××××</property>
     8         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
     9         <property name="myeclipse.connection.profile">mysqldriver</property>
    10 
    11         <mapping resource="com/sunflower/tableentity/Book.hbm.xml" />
    12     </session-factory>
    13 
    14 </hibernate-configuration>

    2.编写好解析配置文件和写入数据库的类:

    CreateTable.java:

    public class CreateTable {
        public static void main(String[] args) {
            //解析hibernate.cfg.xml配置文件
            Configuration conf = new Configuration().configure();
            SchemaExport export = new SchemaExport(conf);
            //根据配置文件生成表格,第一个参数是否显示建表语句,第二个参数是否生成表格
            export.create(true, false);
        }
    }

    生成的SQL语句:

    drop table if exists book
    create table book (book_id bigint not null, name varchar(255), price double precision, author varchar(255), primary key (book_id))

    运行结果:

     

  • 相关阅读:
    使用JavaWeb实现文件的上传和下载
    IDEA使用Maven创建Web项目的两种方式
    Window10系统下联想笔记本进入BIOS界面方法
    MarkDown语法
    PV-UV-QPS
    expect 安装 salt 客户端
    fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令
    查看CPU 内存 硬盘 网络 查看进程使用的文件 uptime top ps -aux vmstat iostat iotop nload iptraf nethogs
    rpm 命令使用 和 lsof -p 1406 使用
    salt 执行shell 脚本 修改名字
  • 原文地址:https://www.cnblogs.com/hanyuan/p/2653251.html
Copyright © 2011-2022 走看看