Java/Database SQL JDBC/JDBC Data Type

Материал из Java эксперт
Перейти к: навигация, поиск

converting a java.sql.Types integer value into a printable name

   <source lang="java">
 

import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.util.HashMap; import java.util.Map; public class Main {

 public static void main(String[] argv) throws Exception {
   String driverName = "com.jnetdirect.jsql.JSQLDriver";
   Class.forName(driverName);
   String serverName = "127.0.0.1";
   String portNumber = "1433";
   String mydatabase = serverName + ":" + portNumber;
   String url = "jdbc:JSQLConnect://" + mydatabase;
   String username = "username";
   String password = "password";
   Connection connection = DriverManager.getConnection(url, username, password);
   DatabaseMetaData dbmd = connection.getMetaData();
   ResultSet resultSet = dbmd.getTypeInfo();
   while (resultSet.next()) {
     String typeName = resultSet.getString("TYPE_NAME");
     short dataType = resultSet.getShort("DATA_TYPE");
     getJdbcTypeName(dataType);
   }
 }
 public static void getJdbcTypeName(int jdbcType) {
   Map map = new HashMap();
   // Get all field in java.sql.Types
   Field[] fields = java.sql.Types.class.getFields();
   for (int i = 0; i < fields.length; i++) {
     try {
       String name = fields[i].getName();
       Integer value = (Integer) fields[i].get(null);
       map.put(value, name);
     } catch (IllegalAccessException e) {
     }
   }
   System.out.println(map);
 }

}


 </source>
   
  
 
  



Determining the Type of a Character: determine the properties of a character for the entire Unicode character set.

   <source lang="java">
 

public class Main {

 public static void main(String[] argv) throws Exception {
   char ch = "a";
   if (Character.isLetter(ch)) { // true
   }
   if (Character.isDigit(ch)) { // false
   }
   if (Character.isLowerCase(ch)) { // true
   }
   if (Character.isUpperCase(ch)) { // false
   }
 }

}


 </source>
   
  
 
  



Enumeration Type: JDBC

   <source lang="java">

/* MySQL and Java Developer"s Guide Mark Matthews, Jim Cole, Joseph D. Gradecki Publisher Wiley, Published February 2003, ISBN 0471269239

  • /

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class EnumTesting {

 Connection connection;
 Statement statement;
 public EnumTesting() {
   try {
     Class.forName("com.mysql.jdbc.Driver").newInstance();
     connection = DriverManager
         .getConnection("jdbc:mysql://192.168.1.25/test?user=spider&password=spider");
   } catch (Exception e) {
     System.err.println("Unable to find and load driver");
     System.exit(1);
   }
 }
 public void doWork() {
   try {
     statement = connection.createStatement();
     ResultSet rs = statement
         .executeQuery("SHOW COLUMNS FROM enumtest LIKE "status"");
     rs.next();
     String enums = rs.getString("Type");
     System.out.println(enums);
     int position = 0, count = 0;
     String[] availableEnums = new String[10];
     while ((position = enums.indexOf(""", position)) > 0) {
       int secondPosition = enums.indexOf(""", position + 1);
       availableEnums[count++] = enums.substring(position + 1,
           secondPosition);
       position = secondPosition + 1;
       System.out.println(availableEnums[count - 1]);
     }
     rs.close();
     statement.close();
     connection.close();
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
 public static void main(String[] args) {
   Enum e = new Enum();
   e.doWork();
 }

}


 </source>
   
  
 
  



Get the database-specific type name

   <source lang="java">
 

import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; public class Main {

 public static void main(String[] argv) throws Exception {
   String driverName = "com.jnetdirect.jsql.JSQLDriver";
   Class.forName(driverName);
   String serverName = "127.0.0.1";
   String portNumber = "1433";
   String mydatabase = serverName + ":" + portNumber;
   String url = "jdbc:JSQLConnect://" + mydatabase;
   String username = "username";
   String password = "password";
   Connection connection = DriverManager.getConnection(url, username, password);
   DatabaseMetaData dbmd = connection.getMetaData();
   ResultSet resultSet = dbmd.getTypeInfo();
   while (resultSet.next()) {
     // Get the database-specific type name
     String typeName = resultSet.getString("TYPE_NAME");
     short dataType = resultSet.getShort("DATA_TYPE");
   }
 }

}


 </source>
   
  
 
  



Get the java.sql.Types type to which this database-specific type is mapped

   <source lang="java">
 

import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; public class Main {

 public static void main(String[] argv) throws Exception {
   String driverName = "com.jnetdirect.jsql.JSQLDriver";
   Class.forName(driverName);
   String serverName = "127.0.0.1";
   String portNumber = "1433";
   String mydatabase = serverName + ":" + portNumber;
   String url = "jdbc:JSQLConnect://" + mydatabase;
   String username = "username";
   String password = "password";
   Connection connection = DriverManager.getConnection(url, username, password);
   DatabaseMetaData dbmd = connection.getMetaData();
   ResultSet resultSet = dbmd.getTypeInfo();
   while (resultSet.next()) {
     String typeName = resultSet.getString("TYPE_NAME");
     short dataType = resultSet.getShort("DATA_TYPE");
   }
 }

}


 </source>
   
  
 
  



Getting the Name of a JDBC Type

   <source lang="java">
 

import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.util.HashMap; import java.util.Map; public class Main {

 public static void main(String[] argv) throws Exception {
   String driverName = "com.jnetdirect.jsql.JSQLDriver";
   Class.forName(driverName);
   String serverName = "127.0.0.1";
   String portNumber = "1433";
   String mydatabase = serverName + ":" + portNumber;
   String url = "jdbc:JSQLConnect://" + mydatabase;
   String username = "username";
   String password = "password";
   Connection connection = DriverManager.getConnection(url, username, password);
   DatabaseMetaData dbmd = connection.getMetaData();
   ResultSet resultSet = dbmd.getTypeInfo();
   while (resultSet.next()) {
     String typeName = resultSet.getString("TYPE_NAME");
     short dataType = resultSet.getShort("DATA_TYPE");
     getJdbcTypeName(dataType);
   }
 }
 public static void getJdbcTypeName(int jdbcType) {
   Map map = new HashMap();
   // Get all field in java.sql.Types
   Field[] fields = java.sql.Types.class.getFields();
   for (int i = 0; i < fields.length; i++) {
     try {
       String name = fields[i].getName();
       Integer value = (Integer) fields[i].get(null);
       map.put(value, name);
     } catch (IllegalAccessException e) {
     }
   }
   System.out.println(map);
 }

}


 </source>
   
  
 
  



Listing Available SQL data Types Used by a Database

   <source lang="java">
 

import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; public class Main {

 public static void main(String[] argv) throws Exception {
   String driverName = "com.jnetdirect.jsql.JSQLDriver";
   Class.forName(driverName);
   String serverName = "127.0.0.1";
   String portNumber = "1433";
   String mydatabase = serverName + ":" + portNumber;
   String url = "jdbc:JSQLConnect://" + mydatabase;
   String username = "username";
   String password = "password";
   Connection connection = DriverManager.getConnection(url, username, password);
   DatabaseMetaData dbmd = connection.getMetaData();
   ResultSet resultSet = dbmd.getTypeInfo();
   while (resultSet.next()) {
     // Get the database-specific type name
     String typeName = resultSet.getString("TYPE_NAME");
     // Get the java.sql.Types type to which this database-specific type is mapped
     short dataType = resultSet.getShort("DATA_TYPE");
   }
 }

}


 </source>
   
  
 
  



Retrieve type info from the result set

   <source lang="java">
 

import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; public class Main {

 public static void main(String[] argv) throws Exception {
   String driverName = "com.jnetdirect.jsql.JSQLDriver";
   Class.forName(driverName);
   String serverName = "127.0.0.1";
   String portNumber = "1433";
   String mydatabase = serverName + ":" + portNumber;
   String url = "jdbc:JSQLConnect://" + mydatabase;
   String username = "username";
   String password = "password";
   Connection connection = DriverManager.getConnection(url, username, password);
   DatabaseMetaData dbmd = connection.getMetaData();
   ResultSet resultSet = dbmd.getTypeInfo();
   while (resultSet.next()) {
     String typeName = resultSet.getString("TYPE_NAME");
     short dataType = resultSet.getShort("DATA_TYPE");
   }
 }

}


 </source>
   
  
 
  



Save Object JDBC

   <source lang="java">

/* MySQL and Java Developer"s Guide Mark Matthews, Jim Cole, Joseph D. Gradecki Publisher Wiley, Published February 2003, ISBN 0471269239

  • /

import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.Serializable; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class Thumbnail {

 Connection connection;
 PreparedStatement statement;
 public Thumbnail() {
   try {
     Class.forName("com.mysql.jdbc.Driver").newInstance();
     connection = DriverManager
         .getConnection("jdbc:mysql://192.168.1.25/identification?user=spider&password=spider");
   } catch (Exception e) {
     System.err.println("Unable to find and load driver");
     System.exit(1);
   }
 }
 public void doWork(String[] args) {
   try {
     byte[] bytes = new byte[50000];
     FileInputStream fs = new FileInputStream(args[2]);
     BufferedInputStream bis = new BufferedInputStream(fs);
     bis.read(bytes);
     ID id = new ID();
     id.nail_id = Integer.parseInt(args[0]);
     id.acc_id = Integer.parseInt(args[1]);
     statement = connection
         .prepareStatement("INSERT INTO thumbnail VALUES(?,?,?,?, 0, now())");
     statement.setInt(1, id.nail_id);
     statement.setInt(2, id.acc_id);
     statement.setBytes(3, bytes);
     statement.setObject(4, id);
     int i = statement.executeUpdate();
     System.out.println("Rows updated = " + i);
     bis.close();
     fs.close();
     statement.close();
     connection.close();
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
 public static void main(String[] args) {
   Thumbnail nail = new Thumbnail();
   nail.doWork(args);
 }

} class ID implements Serializable {

 public int nail_id;
 public int acc_id;
 public byte[] bytes;
 public ID() {
 }

}


 </source>
   
  
 
  



uses reflection to get all the field names from java.sql.Types.

   <source lang="java">
 

import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.util.HashMap; import java.util.Map; public class Main {

 public static void main(String[] argv) throws Exception {
   String driverName = "com.jnetdirect.jsql.JSQLDriver";
   Class.forName(driverName);
   String serverName = "127.0.0.1";
   String portNumber = "1433";
   String mydatabase = serverName + ":" + portNumber;
   String url = "jdbc:JSQLConnect://" + mydatabase;
   String username = "username";
   String password = "password";
   Connection connection = DriverManager.getConnection(url, username, password);
   DatabaseMetaData dbmd = connection.getMetaData();
   ResultSet resultSet = dbmd.getTypeInfo();
   while (resultSet.next()) {
     // Get the database-specific type name
     String typeName = resultSet.getString("TYPE_NAME");
     // Get the java.sql.Types type to which this database-specific type is
     // mapped
     short dataType = resultSet.getShort("DATA_TYPE");
     getJdbcTypeName(dataType);
   }
 }
 public static void getJdbcTypeName(int jdbcType) {
   Map map = new HashMap();
   // Get all field in java.sql.Types
   Field[] fields = java.sql.Types.class.getFields();
   for (int i = 0; i < fields.length; i++) {
     try {
       String name = fields[i].getName();
       Integer value = (Integer) fields[i].get(null);
       map.put(value, name);
     } catch (IllegalAccessException e) {
     }
   }
   System.out.println(map);
 }

}


 </source>