java将数据传到mysql_java上传数据到mysql

package Test0;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FilenameFilter;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.sql.DriverManager;

import java.util.ArrayList;

import java.util.HashSet;

import java.util.Iterator;

import java.util.List;

import java.util.Set;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import com.huaban.analysis.jieba.JiebaSegmenter;

import com.huaban.analysis.jieba.JiebaSegmenter.SegMode;

import com.huaban.analysis.jieba.SegToken;

import com.mysql.jdbc.Connection;

import com.mysql.jdbc.ResultSet;

import com.mysql.jdbc.Statement;

class Node {

public int id;

public int type;

public String name;

public Node(int id, int type, String name) {

this.id = id;

this.type = type;

this.name = name;

}

}

class Resource {

public int id;

public String name;

public Resource(int id, String name) {

this.id = id;

this.name = name;

}

}

public class Test00 {

static Connection conn;

static Statement st;

public static void main(String[] args) {

insert();//插入数据

//query();// 查询数据

}

public static Connection getConnection() {

Connection con = null; // 创建用于连接数据库的Connection对象

try {

Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动

con = (Connection) DriverManager

.getConnection("jdbc:mysql://192.168.1.125/cgdb?user=root&password=1314521&useUnicode=true&characterEncoding=utf-8");

} catch (Exception e) {

System.out.println("数据库连接失败" + e.getMessage());

}

return con;

}

public static void insert() {

// String pathshell="/home/wjx/spider/baidu/java.sh";

//String cmd = "sort /home/wjx/桌面/spider/SearchUrl_CSDN.txt | uniq >/home/wjx/桌面/spider/SearchUrl_CSDN_b.txt"

//+ ";sort /home/wjx/桌面/spider/SearchUrl_OSchina.txt | uniq >/home/wjx/桌面/spider/SearchUrl_OSchina_b.txt"

//+ ";sort /home/wjx/桌面/spider/SearchUrl_Sina.txt | uniq >/home/wjx/桌面/spider/SearchUrl_Sina_b.txt";

String cmd = "sort /home/wjx/桌面/spider/SearchUrl_*.txt | uniq >/home/wjx/桌面/spider/All_b.txt";

Process ps;

try {

ps = Runtime.getRuntime().exec(new String[] { "sh", "-c", cmd });

// ps = Runtime.getRuntime().exec(pathshell);

ps.waitFor();

String path = "/home/wjx/桌面/spider/";

File f = new File(path);

String[] names = f.list(new FilenameFilter() {

public boolean accept(File dir, String name) {

return name.indexOf(".txt") != -1;// 等于-1,表示不存在

}

});

for (String str : names) {

//System.out.println(str);

if (str.endsWith("_b.txt")){

insert_b(path + str);}

if (str.endsWith("_v.txt"))

;

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void insert_b(String path) {

try {

conn = getConnection(); // 首先要获取连接,即连接到数据库

st = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象

String usesql = "use cgdb";

st.execute(usesql);

int i = 0;

InputStream in = new FileInputStream(path);

InputStreamReader ir = new InputStreamReader(in);

BufferedReader br = new BufferedReader(ir);

String target = null;

Pattern pattern = Pattern

.compile("^\\{(.+)\\}\\{(\\d+)\\}\\{(\\d+)\\}\\{(.+)\\}$");

while ((target = br.readLine()) != null) {

Matcher matcher = pattern.matcher(target);

matcher.find();

String sql = "INSERT INTO Resource(name,extend,comment,url,type)"

+ " VALUES (‘"

+ matcher.group(1)

+ "‘,‘"

+ matcher.group(2)

+ "‘,‘"

+ matcher.group(3)

+ "‘,‘"

+ matcher.group(4) + "‘,‘2‘)";

// String sql = new String(str.getBytes(), "utf-8");

System.out.println(sql);

st.executeUpdate(sql); // 执行插入操作的sql语句,并返回插入数据的个数

i++;

}

System.out.println("向Resource表中插入 " + i + " 条数据");

br.close();

ir.close();

in.close();

conn.close(); // 关闭数据库连接

} catch (Exception e) {

System.out.println("插入数据失败:" + e.getMessage());

}

}

/* 查询数据库,输出符合要求的记录的情况 */

public static void query() {

JiebaSegmenter segmenter = new JiebaSegmenter();

conn = getConnection();

try {

st = (Statement) conn.createStatement();

String usesql = "use cgdb";

st.execute(usesql);

String sql_n = "select * from Node";

ResultSet rs_n = (ResultSet) st.executeQuery(sql_n);

List nodelist = new ArrayList();

while (rs_n.next()) {

nodelist.add(new Node(rs_n.getInt("id"), rs_n.getInt("type"),

rs_n.getString("name")));

}

rs_n.last();

String sql_s = "select * from Resource";

ResultSet rs_s = (ResultSet) st.executeQuery(sql_s);

List resourcelist = new ArrayList();

while (rs_s.next()) {

resourcelist.add(new Resource(rs_s.getInt("id"), rs_s

.getString("name")));

}

rs_s.last();

System.out.println("最后的查询结果为:");

Set content = new HashSet(); //无顺序,内容不可重复

//Map nodemap=new HashMap();

for (Node node : nodelist) {// 对每中算法进行 循环 获得关键字

System.out.println(node.id + " " + node.type + " " + node.name

+ " ::");

List segn = segmenter.process(node.name,

SegMode.INDEX);

//nodemap.put(node.id, segn);

double n = segn.size();

for (Resource resource : resourcelist) {

List segs = segmenter.process(resource.name,

SegMode.INDEX);

double i = 0;

for (SegToken seg : segn) {

if (seg.word.getToken().equals("-")) {

n--;

continue;

}

for (SegToken seg2 : segs) {

if (seg.word.getToken().equalsIgnoreCase(

seg2.word.getToken())) {

i++;

break;

}

}

}

if (i / n > 0.5) {

System.out.print(i + " " + n);

content.add(node.id + "‘,‘" + resource.id);

System.out.println(" "+node.name + " " + resource.name);

}

}

//

//System.out.println();

//System.out.println();

}

Iterator iter = content.iterator();

while (iter.hasNext()) {

String sql = "INSERT INTO NodeResource(node_id,resource_id)"

+ " VALUES (‘" + iter.next() + "‘)";

System.out.println(sql);

st.executeUpdate(sql);

}

conn.close(); // 关闭数据库连接

} catch (Exception e) {

System.out.println("查询数据失败");

e.printStackTrace();

}

}

// /* 更新符合要求的记录,并返回更新的记录数目*/

// public static void update() {

// conn = getConnection(); //同样先要获取连接,即连接到数据库

// try {

// String sql = "update staff set wage=‘2200‘ where name = ‘lucy‘";//

// 更新数据的sql语句

//

// st = (Statement) conn.createStatement();

// //创建用于执行静态sql语句的Statement对象,st属局部变量

//

// int count = st.executeUpdate(sql);// 执行更新操作的sql语句,返回更新数据的个数

//

// System.out.println("staff表中更新 " + count + " 条数据"); //输出更新操作的处理结果

//

// conn.close(); //关闭数据库连接

//

// } catch (SQLException e) {

// System.out.println("更新数据失败");

// }

// }

//

// /* 删除符合要求的记录,输出情况*/

// public static void delete() {

//

// conn = getConnection(); //同样先要获取连接,即连接到数据库

// try {

// String sql = "delete from staff where name = ‘lili‘";// 删除数据的sql语句

// st = (Statement) conn.createStatement();

// //创建用于执行静态sql语句的Statement对象,st属局部变量

//

// int count = st.executeUpdate(sql);// 执行sql删除语句,返回删除数据的数量

//

// System.out.println("staff表中删除 " + count + " 条数据\n"); //输出删除操作的处理结果

//

// conn.close(); //关闭数据库连接

//

// } catch (SQLException e) {

// System.out.println("删除数据失败");

// }

//

// }

}

/*

* http://www.jb51.net/article/30774.htm

* http://www.linuxidc.com/Linux/2012-04/58990.htm

* http://dupeng.name/zz/the-centos-fully-uninstall-mysql.html

*

* 对数据库的修改: 1. url改为text 2. name改为text 之前要将un去掉勾

*/

原文:http://blog.csdn.net/w1242245/article/details/24195775

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值