<?xml version="1.0" encoding="utf-8"?>
<Stoke>
<Name ID="1" Type="VarChar" Length="10" Index="True">Ada</Name>
<Sex ID="2" Type="VarChar" Length="2">female</Sex>
<Age ID="3" Type="Integer">21</Age>
<Comm>
<Mobile ID="4" Type="VarChar" Length="15">13300008888</Mobile>
<Email ID="5" Type="VarChar" Length="30">Ada@gmail.com</Email>
</Comm>
</Stoke>
将上面的xml描述在数据库中创建一张表
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class XmlToSql
{
public static void getNode(NodeList nl,StringBuffer sql)
{
for(int i=0;i<nl.getLength();i++)
{
Node node = nl.item(i);
if(node.getNodeType() == Node.ELEMENT_NODE)
{
if(node.hasAttributes())
{
sql.append(node.getNodeName()+" ");
NamedNodeMap attr = node.getAttributes();
sql.append(attr.getNamedItem("Type").getNodeValue());
if(attr.getNamedItem("Length")!=null)
{
sql.append("("+attr.getNamedItem("Length").getNodeValue()+")");
}
sql.append(",");
if(attr.getNamedItem("Index")!=null && attr.getNamedItem("Index").getNodeValue().equals("True"))
{
sql.append("index index_"+node.getNodeName()+"("+node.getNodeName()+"),");
}
}
else
{
getNode(node.getChildNodes(),sql);
}
}
}
}
public static void main(String[] args)
{
try
{
DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = fac.newDocumentBuilder();
Document document = builder.parse(new File("Data.xml"));
Node node = document.getFirstChild();
StringBuffer sql = new StringBuffer("create table temp(id int(11) NOT NULL auto_increment,");
getNode(node.getChildNodes(),sql);
sql.append("PRIMARY KEY (id))");
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost/test";
Connection conn= DriverManager.getConnection(url,"root","root");
Statement stmt = conn.createStatement();
stmt.execute(sql.toString());
}
catch(Exception e){
e.printStackTrace();
}
}
}
分享到:
相关推荐
总结来说,MySQL数据库自动生成XML文件是一项实用的开发技能,它通过代码生成工具能够帮助我们快速地将数据库结构和数据转化为易于处理的格式。MyBatis Generator是实现这一目标的有效工具,它简化了DAO和Model的...
在你的项目中添加Apache POI依赖,如果是Maven项目,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.apache.poi <artifactId>poi <version>4.1.2 <groupId>org.apache.poi <artifactId>poi-...
这个场景中,我们讨论的是如何在Windows和Linux环境下利用SQLite3通过读取XML文件自动生成内存表和硬盘表。 首先,XML文件是一种结构化的数据存储格式,通常用于数据交换或配置。在本例中,XML文件`collect_5k_...
例如,在Maven的pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.poi <artifactId>poi <version>4.1.2 <groupId>org.apache.poi <artifactId>poi-ooxml <version>4.1.2 ``` 接下来,我们需要...
这个名为"JAVA读取Excel,建库建表,并生成java实体.zip"的压缩包文件,显然提供了一个完整的解决方案,涵盖了从读取Excel数据到在数据库中创建表,以及根据Excel内容生成Java实体类的全过程。下面我们将详细探讨...
通讯录数据从数据库读取后,通过XmlWriter逐条写入XML文件,这样数据就可以在不同系统间共享或进行离线处理。 此外,描述中提到了“窗体信息保存到文本文件”,这是另一种常见的数据持久化方式。C#提供了...
这通常包括设置输入目录(包含所有hbm.xml文件)、输出目录(生成的C#类和SQL脚本存放位置),以及可能的命令行参数或配置文件,以控制生成代码的风格和细节。 总的来说,这个项目为使用Nhibernate的开发者提供了...
MyBatis Generator是一个强大的工具,可以自动生成Java实体类、Mapper接口、Mapper XML文件以及建表语句。只需在配置文件中指定数据库连接信息和实体类路径,然后运行生成器,就能得到所需内容。 5. **手动转换**...
- **数据导入**:从XML文件中读取数据,使用JDOM解析XML文件,然后利用Hibernate将解析得到的数据插入到Oracle数据库对应的表中。 - **数据导出**:查询Oracle数据库中的数据,使用JDOM生成XML文档,最终输出为XML...
在MyBatis中,通常会在Mapper XML文件中定义这些SQL语句,或者在初始化阶段通过编程方式执行。例如: ```sql CREATE TABLE `user` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `username` VARCHAR(50) NOT NULL, `...
要完成这个过程,我们需要使用特定的库来读取Excel文件,并使用JDBC(Java Database Connectivity)来与MySQL数据库进行交互。下面将详细解释如何实现这个功能。 首先,我们需要引入两个关键的第三方库:Apache POI...
主要涉及写XML文件和读取数据库表信息,读取文件目录下文件名称,比较简单。此工具自动生成非注解时Spring整合MyBatis时需要的一些配置文件,对于使用较新版本的spring,可以忽视生成的dao的配置文件,建议采用...
需求 有一个表,里面数据量比较大,每天一更新,其字段...XML文件 <?xml version=1.0 encoding=UTF-8?> <!-- 表名 ,数据库名 可灵活配置插入哪个库哪个表 --> <!-- 非业务主键,自增长,可配名,其他
在IT行业中,SpringBoot、JPA(Java Persistence API)和Freemarker是常见的开发工具和技术,它们在构建高效、灵活的Web应用时发挥着重要作用。...通过查看这些文件,可以进一步理解并实践这个动态SQL生成的过程。
6. **dom4j.jar**:这是一个用于XML处理的库,Hibernate使用它来读取和写入配置文件,以及解析HBM(Hibernate Mapping)文件。 7. **slf4j-api.jar 和 slf4j-*.jar**:Simple Logging Facade for Java,提供日志...
本篇文章将详细介绍如何通过封装来实现Excel的建表和读写操作。主要使用的第三方库是Apache POI,这是一个强大的API,能够处理Microsoft Office格式的文件,包括Excel。 首先,在项目配置中,你需要在`pom.xml`文件...
4. **生成XML配置文件**:XML配置文件中包含SQL语句,工具会根据字段信息自动生成SELECT、INSERT、UPDATE、DELETE等SQL语句,并将它们配置到对应的XML文件中。 5. **生成实体类**:每个表通常对应一个Java实体类,...
通过配置`hibernate.cfg.xml`和实体类,我们可以轻松地执行CRUD(创建、读取、更新、删除)操作。 3. **Spring**:Spring框架提供了依赖注入(DI)和面向切面编程(AOP),增强了应用程序的可测试性和模块化。在这...
- Hibernate使用两种方式实现对象-关系映射:XML文件和注解。通常,注解更简洁,更易于维护。实体类上的注解如`@Column`、`@OneToMany`、`@ManyToOne`等,定义了对象间的映射关系。 4. **使用Hibernate工具自动...