zoukankan      html  css  js  c++  java
  • JDBC

    一、搭建JDBC开发环境

      企业应用程序经常要访问存储在数据库中的信息,因此JDK提供了一个标准接口JDBC(java database connection)来进行数据库访问操作。JDBC为多种数据库提供了统一的访问接口。

      要利用JDBC访问数据库,必须首先在机器上安装一个数据库系统并将数据库的JDBC驱动程序添加到JavaEE应用服务器的Java编译路径之中。要使服务器上的Java EE应用能够通过JDBC访问数据库,必须将数据库的JDBC驱动程序添加到应用服务器的JVM可以访问到的目录下。

    二、连接数据库

      可以通过两个类来连接:1,DriverManager 2,Driver

      给定具体的JDBC URL,获取数据库连接的方法是在DriverManager对象上调用getConnection()。

      DriverManager.getConnection(url)

      DriverManager.getConnection(url,user,password)

      

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%
    java.sql.Connection coon=null;
    java.lang.String str;
    try{
    coon=java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test","root","root");
    %>
    连接数据库成功
    <%
    }catch(java.sql.SQLException e){
    out.print(e.toString());
    }finally{
    if(coon!=null) coon.close();
    }
    %>

    三、执行SQL语句

      与数据库进行连接后,就可通过执行SQL语句对数据库进行操作。

      Statement stmt=coon.creatStatement();//语句对象

      ResultSet rst=null;//结果集对象;

      String sqlQuery="select * from customer";

      rst=stmt.executeQuery(sqlQuery);

      还有prepareStatment,CallableStatement

    四、ResultSet

      光标

      BLOB字段处理

    五、RowSet

    六、连接池和数据源

     下面是一个简单对话小程序:

    package it.Client;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
        public static void main(String args[]) throws IOException {
            String reces = null;
            int len;
            Socket socket = null;
            OutputStream outputstream = null;
            InputStream inputstream = null;
            byte[] rece = new byte[1000];
            try {
                ServerSocket serversocket = new ServerSocket(9527); // 服务器的套接字,端口为9527
                while (true) {
                    socket = serversocket.accept();
                    inputstream = socket.getInputStream();// 得到输入流
                    outputstream = socket.getOutputStream();// 得到输出流
                    len = inputstream.read(rece);// 接受客户端消息
                    if (len != 0)
                        reces = new String(rece, 0, len);
                    System.out.println(reces);
                    BufferedReader bufferreader = new BufferedReader(
                            new InputStreamReader(System.in));
                    outputstream.write(("服务器....."+bufferreader.readLine()).getBytes());// 返回给客户端的欢迎信息
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                inputstream.close();
                outputstream.close();
                socket.close();// 记住一定要关闭这些输入,输出流和套接字
            }
    
        }
    }
    package it.Client;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.InetAddress;
    import java.net.Socket;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    
    public class Client extends Thread {
        static String ServerIpAddress = "127.0.0.1";// 对方的IP
        static String words = "Hello";// 对方的话
        static String temp = null;
        static InputStreamReader read = null;
        static ExecutorService pool = Executors.newFixedThreadPool(100);
    
        public static void main(String[] args) throws IOException {
    
            byte[] serverSay = new byte[1000];// 读取<1KB
            int len = 0;
            Socket s = null;
            OutputStream outputstream = null;
            InputStream inputstream = null;
    
            // 取得你给他的IP
            System.out.println("请输入对方的IP(默认发给自己):");
            read = new InputStreamReader(System.in);
            try {
                temp = new BufferedReader(read).readLine();
                if (!temp.equals(""))
                    ServerIpAddress = temp;
            } catch (IOException e1) {
            }
            // 取得你各他的Message
            System.out.println("请输入想对他(她)说的话----输入QUIT 退出!!:");
            read = new InputStreamReader(System.in);
            while (true) {
    
                System.out.println("*********");
                BufferedReader bufferreader = new BufferedReader(new InputStreamReader(System.in));
                words = bufferreader.readLine();
                if (words.equals("quit")) {
                    System.out.println("EXIT");
                     try {
                         inputstream.close();
                         } catch (IOException e2) {
                         // TODO Auto-generated catch block
                         e2.printStackTrace();
                         }
                         try {
                         outputstream.close();
                         } catch (IOException e1) {
                         // TODO Auto-generated catch block
                         e1.printStackTrace();
                         }
                         try {
                         s.close();
                         } catch (IOException e) {
                         // TODO Auto-generated catch block
                         e.printStackTrace();
                         }// 记住一定要关闭这些输入,输出流和套接字
    
                    System.exit(0);
                }
                temp = "客户端....." + words;
                s = new Socket(InetAddress.getByName(ServerIpAddress), 9527);// 套接字的IP地址和端口号
                outputstream = s.getOutputStream();
                inputstream = s.getInputStream();
                outputstream.write(temp.getBytes());// 向服务器发送消息
                len = inputstream.read(serverSay);// 接受服务器消息
                System.out.println(new String(serverSay, 0, len));// 客户端控制台显示服务器返回的信息
            }
        }
    
    }

    alter table tablename add()/drop()

    准备baf数据用__OD

      

  • 相关阅读:
    网络基础
    模块和包的介绍与使用
    PHP 接口输出 图片
    Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the
    dedeCMS 两个站共用同一个数据库 图片路径统一
    写入文件_调试方法
    Mysql触发器 使用示例
    部署GitLab遇到的问题记录
    防火墙对nginx服务器有影响
    更新yum源并重建缓存
  • 原文地址:https://www.cnblogs.com/miffy/p/4955846.html
Copyright © 2011-2022 走看看