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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 编程 » 数据库中的 Java » 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

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