MyEclipse自动生成hibernate实体类和配置文件攻略

步骤1:找到导航栏里面的window--showView然后输入db brower,打开数据库浏览窗口
步骤2:在数据库浏览窗口里只有一个Myeclipse自带的数据库,该数据没有用,我们在空白的地方右键新建一个数据库
填写数据库信息,包括连接方式,用户名,密码,和jdbc的配置一样,注意将oracle的jar包导进来(如果jar包冲突,请到oracle安装目录下找

步骤3:数据库连接已经出现,我们可以连接上数据库了

步骤4:这时候我们回过头,新建一个java或javaEE项目,名字随便取,然后右键该项目,选择Myeclipse---add hibernate capliability,进入加载hibernate支持界面,首先选择hibernate版本,这个随便,然后next

步骤5:选择hibernate配置文件的存放位置,这个最好放在在项目的根目录下

步骤6:配置hibernate数据库连接,在dbdriver选项下,选择我们刚才配的那个数据库连接,这样的话用户名和密码会自动出现

步骤7:下一步是否新建一个sessionfactory类,我们可以选择不新建,即将那个复选框的勾给去掉

步骤8:这样的话hibernate配置文件(xml)就自动写好了

步骤9:我们可以根据自己需求往配置文件里面写点属性,比如说我们常用的show_sql属性,这样的话该工程的hibernate配置就完成了,且所有hibernate的jar包也添加完成

步骤10:重新回到数据库浏览器界面,打开连接,选择用户,选择所需要生成实体和配置文件的表,然后右键,选择hibernate reverse engineeing

步骤11:该步骤就是开始自动生成实体类的工作了,先选择需要目标项目和文件夹(不要选错了项目,不然就生成到其他项目中去了,建议关闭不相关的项目),我选择刚才新建的项目(只有加载了hibernate支持的项目才能自动生成)

步骤12:选择实体类和配置文件存放的位置(一般是com.XXX.XXX.entity或者com.XXX.XXX.domain或com.XXX.XXX.pojo),及pojo的生成策略,然后next

步骤13:选择一些配置信息,其他不用管,只需要在主键生成策略上选择你希望的策略就行了,我是选择increment的

步骤14:点击finish,那么刚才那张表的实体类和配置文件皆以生成

步骤15:打开实体类,我们会发现主键consumerId是Long型的,我们可以改成int,记住全部都要改(当然也可以不该,不过到时候查询或插入会比较麻烦)

步骤16:同样将配置文件中的主键类型也改成int

步骤17:在回过头看,hibernate全局配置文件,刚才我们生成的实体类配置文件已经自动加载到了mapping中

步骤18:写一个简单的测试程序,来测试一下吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
private static void printTableMetaInfo(Session session) { Connection connection = session.connection(); try { DatabaseMetaData metaData = connection.getMetaData(); ResultSet result = metaData.getColumns(null, null, NameOfTable, null); String strInJava = ""; String typeInJava; while (result.next()) { String columnName = result.getString(4); if ("stampTime".equalsIgnoreCase(columnName)) { continue; } int columnType = result.getInt(5); String nameFirstLetterLower = columnName.substring(0, 1).toLowerCase() + columnName.substring(1); switch (columnType) { case Types.VARCHAR: case Types.LONGVARCHAR: case Types.LONGNVARCHAR: case Types.NVARCHAR: case Types.CHAR: typeInJava = "String"; break; case Types.TINYINT: case Types.SMALLINT: case Types.INTEGER: typeInJava = useInteger ? "Integer" : "int"; break; case Types.TIMESTAMP: case Types.BINARY: typeInJava = "Calendar"; break; case Types.DECIMAL: typeInJava = "BigDecimal"; break; case Types.BIGINT: typeInJava = "BigInteger"; break; case Types.LONGVARBINARY: typeInJava = "byte[]"; break; case Types.DATE: typeInJava = "Calendar"; break; default: throw new Exception("Unknown type " + columnType + " and column is " + columnName); } strInJava += " private " + typeInJava + " " + nameFirstLetterLower + ";\n"; // strInHibernate += "\n"; } String str = "import javax.persistence.Entity;\n" + "import javax.persistence.Id;\n" + "import javax.persistence.Table;\n" + "import java.util.Calendar;\n\n"; str += "@Entity\n"; str += "@Table(name=\"$\")\n".replace("$", NameOfTable); str += "public class $ {\n".replace("$", NameOfTable.substring(2)); str += "\n @Id\n"; str += strInJava; str += "}"; System.out.println(str); StringSelection stringSelection = new StringSelection(str); Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard(); clpbrd.setContents(stringSelection, null); } catch (Exception e) { e.printStackTrace(); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值