Java-JDBC

14 篇文章 0 订阅

Java DataBase Connectivity Java数据库连接
JDBC 是一套标准,是Java与个大数据库厂商共同制定的一套接口,这套接口由个大数据库厂商进行了实现。

1. 导入Jar包

2. 连接数据库流程

public class Demo1 {
    public static void createTable() throws ClassNotFoundException, SQLException {
        //1.加载数据库驱动(可以省略,但是在JavaEE的Web项目中,jar包不可以省略。)
        Class.forName("com.mysql.jdbc.Driver");
        //2.通过驱动管理器获取JDBC连接对象
        // (MySQL)数据库链接地址格式:
        //  主协议:子协议://IP地址:端口号/数据库名称
        //  MySQL:jdbc      jdbc:mysql://localhost:3306/test
        //  (Oracle)数据库链接地址格式:
        //  Oracle:         jdbc:oracle:think:@ip地址:1521/ORCL
        Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
        //3.通过连接对象,创建SQL执行对象(SQL执行环境)
        Statement state = conn.createStatement();
        //4.通过SQL执行对象,执行SQL
        state.execute("create table Person(id int ,name varchar(20))");//返还结果不代表成功和失败,true只代表是一个有结果集的SQL语句。
        //5.释放连接
        state.close();
        conn.close();
        System.out.println("执行完毕");
    }
    public static void insert() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
        Statement state = conn.createStatement();
        state.execute("insert into person values(1,'富贵')");
        state.close();
        conn.close();
    }
}

3. 常用方法

1. DriverManager : 驱动管理器
常用方法:
-获取数据库连接:
static Connection getConnection(String 数据库地址,String 账号 ,String 密
码)
2. Connection : 数据库连接对象
常用方法:

  • 创建SQL执行对象: Statement createStatement();

3. Statement : SQL执行对象
常用方法:

  • 执行SQL语句(查询语句返回true, 其它语句返回false)
    boolean execute(String sql);
  • 执行DML语句(INSERT UPDATE DELETE) 和 DDL语句(create alter drop)
    (返回int值, 表示语句对数据库表格的影响行数 !)
    (通常我们认为 返回值>0 表示执行成功.)
    int executeUpdate(String sql);
  • 执行DQL语句 (select)
    ResultSet executeQuery(String sql);

4. ResultSet : 结果集对象 (指的是一个select语句的查询结果)

1. 控制游标移动的常用方法:
- boolean next() ****
作用: 控制游标向下一行移动.
返回值: 移动成功返回true , 下一行不存在移动失败, 返回
false
- boolean privious() 了解
作用: 控制游标向上一行移动.
返回值: 移动成功返回true , 上一行不存在移动失败, 返回
false
- boolean absolute(int 行号) 了解
作用: 控制游标向指定行移动
返回值: 移动成功返回true , 行不存在移动失败, 返回false
- boolean beforeFirst() 了解
作用: 控制游标移动到第一行
返回值: 移动成功返回true, 没有第一行数据返回false
- boolean afterLast() 了解
作用: 控制游标移动到最后一行
返回值: 移动成功返回true, 没有最后一行数据返回false

2. 获取游标指向行的字段值的常用方法:

  • XXX getXXX(String 列名) ***
    -例如 result.getInt(String name);
    public static void insert() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
        Statement state = conn.createStatement();
        int flag = state.executeUpdate("insert into person values(2,'长贵')");
        state.close();
        conn.close();
        System.out.println("插入:"+flag);
    }

    public static void edit() throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
        Statement state = conn.createStatement();
        int flag = state.executeUpdate("update person set name='钱富贵' where id = 1");
        state.close();
        conn.close();
        System.out.println("编辑:"+flag);
    }
    public static void delete() throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
        Statement state = conn.createStatement();
        int flag = state.executeUpdate("delete from person where id = 2");
        state.close();
        conn.close();
        System.out.println("删除:"+flag);
    }
    public static void query() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
        Statement state = conn.createStatement();
        ResultSet result  = state.executeQuery("select * from person");

        while(result.next()){
            int id = result.getInt("id");
            String name = result.getString("name");
            System.out.println("id:"+id+"\tname:"+name);

        }

        result.close();
        state.close();
        conn.close();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值