zoukankan      html  css  js  c++  java
  • JDBC基本操作

    准备工作,下载驱动包,https://dev.mysql.com/downloads/connector/j/

    发现没有windows的,可以选择倒数第二个,Platform Independent独立平台

    数据库跟驱动包版本最好一致

    jdbc六部曲:

    1.导包(IDEA开发工具-File-Project Structure-Libraries-添加+ 驱动jar) 工程里导包实际是个路径,通过路径去找包,理论上可以放在硬盘的任何位置,但为了方便,且不容易丢失,最好跟项目放在一起,

    创建lib专门存放外部jar包(1.复制jar包到lib文件夹 2.放在那里识别不了,要产生关联,还需要添加依赖,按照上述添加到Libraries)

    注意:5.X版本与8.X版本稍有不同,假如报错了有原因

     2.加载驱动

    有几种方式,本质相同

    Class.forName("com.mysql.cj.jdbc.Driver");//通过反射加载

    DriverManager.registerDriver(new Driver());//这个Driver是com.mysql.cj.jdbc.Driver  并非java.sql.Dirver

    new Driver();//跟上面这个本质相同,new之前要先加载静态块,其实就调了registerDriver,用上面那个反而多registerDriver了一次

    3.获取连接、

    String url="jdbc:mysql://localhost:3306/test";//8.x后的版本后边还有。。String url="jdbc:mysql://localhost:3306/test?serverTimezone=CST";
    String user="uuu";
    String password="123456";
    Connection conn=DriverManager.getConnection(url,user,password);
    4.创建Statement,它拥有excute等执行sql的方法
    5.执行sql
    int count=statement.excuteUpdate(sql);//返回受影响的行数,新增,修改,删除
    ResultSet rs=statement.excuteQuery(sql);//查询,返回一个类似于Set的结果集 Set<Map<String,Object>>
    rs.next();//是否还有下一行记录
    rs.getXXX();//获取列的值,getString比较特殊可以获取任何类型的列,它底层或自动转换为String,但其它的getXXX方法必须跟表的列类型对应。
    6.关闭
    倒着关闭,先关rs.close statement.close conn.close

    范例:

    package com;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class Main {
        public static void main(String[] args) throws ClassNotFoundException, SQLException {
            //1.导包
            //2.加载驱动
            Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动类,类中的静态元素执行
            //3.获取连接
            String url="jdbc:mysql://localhost:3306/test";
            String user="userNam";//mysql登录用户名
            String password="123456";//登录密码
            Connection conn=DriverManager.getConnection(url,user,password);//类似一个socket,通过地址,用户,密码建立连接
            //4.创建状态参数,类似获取流
            Statement statement=conn.createStatement();
            //5.执行sql
            statement.execute("insert into newtest values(4,"sf",now());");
            //6.关闭 先打开的后关
            statement.close();
            conn.close();
            System.out.print("success");
    
    
    
        }
    }
  • 相关阅读:
    基础MYSQl技巧集锦
    C MySQL float类型数据 用 printf()打印
    1Tomcat+Axis+Eclipse实例讲解 2自己做的一个可以用的webservice,只是开始 (WebService好文)
    信号量 进程 (m个生产者,n个消费者,容量为r的缓冲区)
    信号量和同步互斥
    C语言 wait()信号量部分 signal()信号量部分代码
    Tomcat+Axis+Eclipse实例讲解
    MySQL 集合 补集
    SELECT DocID, SUM(a.Score + B.Score) AS TOTAL Itemset_ONE a LEFT Join Itemset_Two b ON a.DocID=b.DocID 太慢
    Yii AR Model 查询
  • 原文地址:https://www.cnblogs.com/hebiao/p/14472274.html
Copyright © 2011-2022 走看看