java 操作MySQL数据库的一个例子,包括表字段,类型,编码格式,表的所有值读取

package com.zwc.www.test;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSetMetaData;

public class OperateDB {

 public static void main(String[] args) {
  try {
   Class.forName("com.mysql.jdbc.Driver");
   String url = "jdbc:mysql://192.168.11.211/education?useUnicode=true&characterEncoding=utf-8";
   String user = "root";
   String password = "12345678";
   Connection con = (Connection) DriverManager.getConnection(url, user, password);
   Statement statement = con.createStatement();
   ResultSet result = statement.executeQuery("select * from t_sys_user");
注意,这里,完全可以操作视图,操作表的sql语句 与操作视图的sql语句一样,  

 


   ResultSetMetaData metadata = (ResultSetMetaData) result.getMetaData();
   List<String> metadataList = new ArrayList<String>();
   System.out.println("====================表结构=============================");
   for(int i = 1; i <= metadata.getColumnCount();i++){
    metadataList.add(metadata.getColumnName(i));
    System.out.print(metadata.getColumnName(i) + "   ");   //name
    System.out.print(metadata.getColumnTypeName(i) + "   ");  //type
    System.out.print(metadata.isNullable(i) + "   ");    //null
    System.out.print(metadata.getColumnCharacterSet(i) + "   "); //encode
    System.out.println();   //key
    
   }
   
   System.out.println("====================表数据=============================");
   Iterator<String> i = null;
   String oneKey = null;
   while(result.next()){
    i = metadataList.iterator();
    while(i.hasNext()){
     oneKey = i.next();
     System.out.print(oneKey + ":" + result.getString(oneKey) + "    ");
    }
    System.out.println();
   }
   
   result.close();
   statement.close();
   con.close();
   
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  
 }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值