jdbc建立java和sql的连接

jdbc建立java和sql的连接

一.导包

1.首先新建一个项目

2.再新建一个包lib

3.把下好的sql包粘贴到lib里

4.右键lib包点击add as library

结束

二.注册驱动:
java 复制代码
DriverManager.registerDriver(new Driver());
三.建立与数据库的连接:
java 复制代码
 String url="jdbc:mysql://127.0.0.1:sql端口号/schooldb?serverTimezone=Asia/Shanghai";
        String user="root"; //账户
        String password="root"; //密码
        Connection connection=DriverManager.getConnection(url,user,password);
四.发送sql
java 复制代码
 Statement statement=connection.createStatement();
 statement.executeUpdate("insert into major(name)value('数学')");
五.关闭与数据库的连接:
java 复制代码
statement.close();
connection.close();

插入方法eg:

java 复制代码
public static void main(String[] args) throws SQLException {
        SqlOperate.insert("lzy","男","1979-4-21","13152113467",1.88);
    }
    public static void insert(String name,String gender, String birthday,String phone,double height) throws SQLException {
        //注册驱动
        DriverManager.registerDriver(new Driver());
        String url="jdbc:mysql://127.0.0.1:3306/schooldb?serverTimezone=Asia/Shanghai";
        String user="root";
        String password="root";
        //建立与数据库的连接
        Connection connection=DriverManager.getConnection(url,user,password);
        //发送sql
        Statement statement=connection.createStatement();
        statement.executeUpdate("update student set name='"+name+"',gender='"+gender+"',birthday='"+birthday+"',phone='"+phone+"',height="+height+"");
        //关闭与数据库的连接
        statement.close();
        connection.close();
    }
PreparedStatement实现发送sql
java 复制代码
PreparedStatement ps=connection.prepareStatement("insert into major(name)value(?)");    //?是占位符,表示要插入一个参数
        ps.setObject(1,"智能");   //1表示在第一个?位置插入数据
        ps.executeUpdate();
java 复制代码
PreparedStatement ps=connection.prepareStatement("update student set name=?,gender=?,birthday=?,phone=?,height=? where number=?");
        ps.setObject(1,name);
        ps.setObject(2,gender);
        ps.setObject(3,birthday);
        ps.setObject(4,phone);
        ps.setObject(5,height);
        ps.setObject(6,number);
        ps.executeUpdate();
PreparedStatement和Statement本质区别:PS的?占位符可以在参数进来时进行验证,防止sql注入攻击,更安全
相关推荐
_Evan_Yao1 小时前
Redis 缓存穿透、击穿、雪崩,一次讲清!
java·spring·mybatis
梓豪csd1 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
秋饼1 小时前
Spring AI 2.1 Message Parts 深度实战:推理签名回放与跨轮记忆持久化的源码级落地
java·ai·技术分享·后端开发
thefool1122662 小时前
TCP 1
java·1024程序员节
geovindu2 小时前
sql:SQL Pagination and Limiting Results using PorstgreSQL 18.0
大数据·数据仓库·sql·postgresql·数据库开发·数据库架构·1024程序员节
不脱发的程序猿3 小时前
纳指ETF量化策略
数据库·人工智能·1024程序员节
程序员塔塔喵4 小时前
【MySQL篇|第一篇】索引失效的情况
数据库·mysql·索引失效
北京青蓝智慧马老师4 小时前
比外部黑客更难防的,是那个有权限的自己人(3 个脱敏复盘)
大数据·数据库·人工智能
金銀銅鐵5 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程
AI人工智能+电脑小能手5 小时前
一次请求打几个下游,这个Java并行任务工具类6个方法按序聚合
java·线程池·并发编程·1024程序员节·批量处理·并行任务