java学习笔记二。 2019.6.23 周日

jdbc基础
一、jdbc简介和mysql驱动的加载
程序要通过sql语句来自动化操作数据库,必须要用一个类库,类库要提供executesql(“insert into。。。”)等方法
jdbc是java中提供的标准访问数据库的接口,访问不同dbms的底层是不一样的,jdbc把访问数据库的方法进行了统一,访问mysql、oracle、db2等不同数据库的用法几乎一模一样。
jdbc是规范,被不同的数据库厂商提供jdbc的实现,称之为jdbc驱动。
jdbc的核心类:drivermanager用于管理驱动/获得连接,connection用于连接dbms,statement用于执行sql语句,resultset用户获取执行结果,jdbc相关的核心类都在java.sql中
二、jdbc连接mysql(英文输入法,下面这里面有可能有拼音输入法输入的内容)
1、将mysql的jdbc驱动mysql-connector-java-***-bin.jar添加到项目的库中
2、Class.forName("com.mysql.jdbc.Driver")加载mysql的jdbc驱动(大小写敏感)
3、Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/demo1?seUnicode=true&characterEncoding=UTF-8","root",“root”)获得和dbms的连接,不要引用错了mysql驱动jar包中也有一个同名的connection
参数localhost是本机的地址,也可以输入电脑的ip地址;参数demo1是数据库的名字,已实际的为准;后面是编码。
4、PreparedStatement ps=conn.prepareStatement("inset into T_Persons(name,age,gender) values('mingzi',23,1)");
5、int i=ps.executeUpdate();执行sql语句,返回值为受影响的行数

package com.rupeng.jdbctest1;

import java.sql.DriverManager;
import java.sql.SQLException;

//import java.sql.DriverManager;

public class Test1 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        Class.forName("com.mysql.jdbc.Driver");//加载JDBC驱动
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("mysql jdbc驱动加载失败"+e.getMessage());
        return;
    }
    try {
        DriverManager.getConnection("jdbc:mysql://localhot/study1?seUnicode=true&characterEncoding=UTF-8", "root", "123456");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("连接失败"+e.getMessage());
    }

}

}

三、

PreparedStatement ps=conn.prepareStatement(insert into t_persons(name,age,gender)values('zhaozhao',22,1));
int i=ps.executeUpdate();
//妈蛋,mac上面的vbox,又出幺蛾子啦啦啦
package com.rupeng.jdbctest1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

//import java.sql.DriverManager;

public class Test1 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        Class.forName("com.mysql.jdbc.Driver");//加载JDBC驱动,注意大小写
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("mysql jdbc驱动加载失败"+e.getMessage());
        return;
    }

    /*Connection con=null;
    PreparedStatement stmt=null;
    try {
         con=DriverManager.getConnection("jdbc:mysql://localhot/study1?seUnicode=true&characterEncoding=UTF-8", "root", "123456");
         System.out.println(con.getClass());
        // 连接失败Communications link failure  Last packet sent to the server was 0 ms ago.

    // con=DriverManager.getConnection("jdbc:mysql://localhot/study1?autoReconnect=true&characterEncoding=UTF-8", "root", "123456");
        //报错Could not create connection to database server. Attempted reconnect 3 times. Giving up.

        stmt=con.prepareStatement("insert into_orders (number,price,customersid,typeid) values('k003',200,1,1)");
         System.out.println(stmt.getClass());
         int i=stmt.executeUpdate();
         System.out.println("成功执行"+i+"条信息");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("连接失败"+e.getMessage());
    }*/

    try {
        Connection con=DriverManager.getConnection("jdbc:mysql://localhot/study1?seUnicode=true&characterEncoding=UTF-8", "root", "123456");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("连接失败"+e.getMessage());
    }

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值