Java JDBC

java database connectivity

java链接数据库的规范,由sun公司提供的接口,然后各个数据库厂商提供实现类。

1.将jar包复制到项目中
在这里插入图片描述

2.将jar包添加到项目中
在这里插入图片描述

pg中列名如果是大写,需要加入双引号"NAME",所以在Java中要使用转义"NAME",另外字符串是需要用单引号’’。

package jdbc;

import java.sql.*;

public class jdbcDemo {
    public static void main(String[] args) throws Exception {
        // 1.注册驱动,可以不写因为在jar包里的java.sql.Driver已经注册了
        Class.forName("org.postgresql.Driver");//将org.postgresql.Driver类加载到内存,该类中使用静态代码块调用了DriverManager.registerDriver()注册
        // 2.建立链接,格式是jdbc:postgresql://ip:端口/数据库名称
        Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "postgres", "postgres");
        // 3.执行语句
        Statement stmt = conn.createStatement();

            //更新操作
        String sql1 = "update account set score = 112 where id = 1";
        int count1 = stmt.executeUpdate(sql1);
        System.out.println(count1);
            //插入操作
        String sql2 = "insert into account(id,\"NAME\",score) values (2,'wang',12)";
        int count2 = stmt.executeUpdate(sql2);
        System.out.println(count2);
            //删除操作
        String sql3 = "delete from account where id = 2";
        int count3 = stmt.executeUpdate(sql3);
        System.out.println(count3);
            //查询操作
        String sql4 = "select * from account";
        ResultSet res1 = stmt.executeQuery(sql4);
        res1.next();
        String name1 = res1.getString("NAME");
        System.out.print(name1);
            //防止sql注入
        String sql5 = "select * from account where id = ?";
        PreparedStatement pstmt = conn.prepareStatement(sql5);//pstmt 效率高可以防止注入
        pstmt.setInt(1,1);//给问号赋值
        ResultSet res2 = pstmt.executeQuery();
        res2.next();
        String name2 = res2.getString("NAME");
        System.out.print(name2);


        res1.close();
        res2.close();
        pstmt.close();
        stmt.close();
        conn.close();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值