Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - 编程 » 数据库中的 Java

 

创建 Java 类以与 SQL Anywhere 配合使用

以下几节介绍了创建 Java 方法并从 SQL 中调用这些方法时所涉及的步骤。其中展示了如何编译 Java 类以及如何将其安装到数据库中,使其可供在 SQL Anywhere 中使用。还介绍了如何从 SQL 语句访问该类及其成员和方法。

以下几节假定您已安装了 Java 开发工具包(Java Development Kit,简称 JDK),包括 Java 编译器 (javac) 和 Java VM。

samples-dir\SQLAnywhere\JavaInvoice 中提供了此示例的源代码和批处理文件。

在数据库中使用 Java 的第一步是编写 Java 代码并对其进行编译。此项任务在数据库外完成。

 ♦  创建和编译类
  1. 创建示例 Java 类源文件。

    为方便起见,在此提供了示例代码。可以将以下代码粘贴到 Invoice.java 中,或从 samples-dir\SQLAnywhere\JavaInvoice 获取该文件。



    import java.io.*;
    
    public class Invoice 
    {
        public static String lineItem1Description;
        public static double lineItem1Cost;
    
        public static String lineItem2Description;
        public static double lineItem2Cost;
    
        public static double totalSum() {
            double runningsum;
            double taxfactor = 1 + Invoice.rateOfTaxation();
    
            runningsum = lineItem1Cost + lineItem2Cost;
            runningsum = runningsum * taxfactor;
    
            return runningsum;
        }
    
        public static double rateOfTaxation()
        {
            double rate;
            rate = .15;
    
            return rate;
        }
    
        public static void init( 
          String item1desc, double item1cost,
          String item2desc, double item2cost )
        {
            lineItem1Description = item1desc;
            lineItem1Cost = item1cost;
            lineItem2Description = item2desc;
            lineItem2Cost = item2cost;
        }
    
        public static String getLineItem1Description() 
        {
            return lineItem1Description;
        }
    
        public static double getLineItem1Cost() 
        {
            return lineItem1Cost;
        }
    
        public static String getLineItem2Description() 
        {
            return lineItem2Description;
        }
    
        public static double getLineItem2Cost() 
        {
            return lineItem2Cost;
        }
    
        public static boolean testOut( int[] param )
        {
            param[0] = 123;
            return true;
        }
    
        public static void main( String[] args )
        {
            System.out.print( "Hello" );
            for ( int i = 0; i  < args.length; i++ )
                System.out.print( " " + args[i] );
            System.out.println();
        }
    }
  2. 编译该文件以创建文件 Invoice.class

    javac Invoice.java

    该类现已被编译并随时都可以安装到数据库中。