使用Hibernate 操作原生sql语句建表
来源:互联网 发布:java生产管理系统 编辑:程序博客网 时间:2024/05/09 15:06
/* * 按天建表 appVisit20130313 添加应用的访问详细情况 appVisitDate 当前时间 appVisit * AppVisitBean实体 */public void addAppVisit(String appVisitDate) {Connection conn = null;String tableName = "appVisit" + appVisitDate;try {conn = getHibernateTemplate().getSessionFactory().getCurrentSession().connection();DatabaseMetaData metaDate = conn.getMetaData();ResultSet rs = metaDate.getTables(null, null, tableName,new String[] { "TABLE" });if (rs.next()) {System.out.println(tableName + ": 表存在! ");} else {// System.out.println(tableName + ": 表 不 存在! ");String sql ="CREATE TABLE `"+ tableName +"` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `appId` BIGINT(20) DEFAULT NULL, `userAttr` VARCHAR(255) DEFAULT NULL, `userCA` VARCHAR(255) DEFAULT NULL, `userIP` VARCHAR(255) DEFAULT NULL, `userMAC` VARCHAR(255) DEFAULT NULL, `visitDate` VARCHAR(255) DEFAULT NULL, `visitSource` VARCHAR(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8;";conn.prepareStatement(sql).execute();//this.getHibernateTemplate().bulkUpdate(sql);}} catch (Exception e) {e.printStackTrace();}}