我是个新手,我现在的想做一个,是要用JAVA连接两个数据库,一个是mdb的access数据库,一个是TXT的数据库,我想通过查询mdb内表里的某一行数据来找到TXT里的数据,比如说输入mdb内表td下名为sd的数值为157的数,返回mdb内表td下名为dd与157同行的数值,通过这个数值查询到TXT数据库下以该数值同名的TXT文件内的数据。
不知道哪位高手能指点一下,在下十分感谢,另外,我想知道TXT的数据库的JAVA里的操作方法……

解决方案 »

  1.   

    自已写两个数据源
    用spring的话就配两个数据源。
      

  2.   

    我现在已经搞好了,我想知道我有一堆TXT文档的数据库怎么操作……
      

  3.   

    使用java如何将txt文件读入数据库
    数据库是mysql  表的形式是create table sample(
    id int(11) NOT NULL auto_increment,
    date varchar(20),
    size varchar(20),
    number varchar(20),
    PRIMARY KEY(id)
    )ENGINE=MyISAM DEFAULT CHARSET=GBK;其中txt文件每行数据分别插入date,size,number中
    数据库连接:public static void main(String[] args) throws SQLException  {
      // 注册驱动程序
      try {
       Class.forName("com.mysql.jdbc.Driver");
      } catch (ClassNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
      
      
      
      java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK", "root", "root");
     
     }txt文件格式为:2007.01.01 10 100
    2007.01.02 10 200
    2007.01.03 10 300
    2007.01.04 12 400package web;import java.io.BufferedReader;
    import java.io.FileReader;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.util.ArrayList;
    import java.util.List;//插入的数据类
    class Simple {
     String date;
     String size;
     String number;
    }public class Client {
     // 加载数据库驱动
     static {
      try {
       Class.forName("com.mysql.jdbc.Driver");
      } catch (ClassNotFoundException e) {
       e.printStackTrace();
      }
     } // 连结数据库
     static Connection getConnection() {
      String url = "jdbc:mysql://localhost:3306/test1";
      String user = "root";
      String password = "123456";
      Connection conn = null;
      try {
       conn = DriverManager.getConnection(url, user, password);
      } catch (Exception e) {
       e.printStackTrace();
      }
      return conn;
     } // 插入数据
     static void insert(Simple simple) {
      Connection conn = getConnection();
      String sql = "INSERT INTO sample(date,size,number) VALUES(?,?,?)";
      PreparedStatement sm = null;
      try {
       sm = conn.prepareStatement(sql);
       sm.setString(1, simple.date);
       sm.setString(2, simple.size);
       sm.setString(3, simple.number);
       sm.execute();
      } catch (Exception e) {
       e.printStackTrace();
      }
     } // 获取文本内容列表
     static List<Simple> getText(String filePath) {
      List<Simple> simples = new ArrayList<Simple>();
      try {
       FileReader reader = new FileReader(filePath);
       BufferedReader bfReader = new BufferedReader(reader);
       String text = null;
       while ((text = bfReader.readLine()) != null) {
        String[] texts = text.split(" ");
        Simple simple = new Simple();
        simple.date = texts[0];
        simple.size = texts[1];
        simple.number = texts[2];
        simples.add(simple);
       }
      } catch (Exception e) {
       e.printStackTrace();
      }
      return simples;
     } public static void main(String[] args) {
      // 获取文本内容
      List<Simple> simples = getText("test.txt");
      // 插入数据库
      for (Simple simple : simples) {
       insert(simple);
      }
     }
    }
    注:在Eclipse下,test.txt放在项目文件夹下,设置数据库驱动
      

  4.   

    非常感谢各位,其实我可能说不是很清楚,我是有一堆TXT文档……像是10ba28ea.txt 10ba29ea.txt……这样的文件,里面是有一行文字,比如:广州电脑城附近。而不是单个TXT的文件,接着求助……不管怎么说,还是先谢谢LS的各位
      

  5.   

    如果你本身没有一个txt数据库的话 只是一堆txt文本 而且你要进行内容查询。
    那要看你这些文本有没有特定格式,格式越规范,你工作越简单。比如你都是按照分类命名文件名,并且都是CSV的格式文本。那你直接用普通IO api读写就好了。最坏情况是没有特定格式。那你只能用文本搜索引擎了,比如lucene。
    ...