Java-JDBC编程(二)--------插入自定义输入数据

https://blog.csdn.net/Adepth/article/details/134009205?spm=1001.2014.3001.5502

在Java-JDBC编程(一)中我们实现了,连接数据库后,固定插入数据,本篇我们将实现自定义输入插入数据

其连接数据库步骤还是和之前的一样,不了解的小伙伴可以先去看Java-JDBC编程 基本操作

https://blog.csdn.net/Adepth/article/details/134009334?spm=1001.2014.3001.5502

主要步骤分别为:设置数据源---->连接数据库---->创建sql语句---->编译sql语句---->执行sql语句

自定义输入

要实现自定义输入,就要使用键盘录入创建字符语句,如下

字符串拼接

//预编译SQL语句--自定义输入
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入学号");
        String id = sc.next();
        System.out.println("请输入姓名");
        String name = sc.next();
        System.out.println("请输入出生日期");
        String brith = sc.next();
        System.out.println("请输入性别");
        String gender = sc.next();

        //如果都是字符类型的,双引号外需要套用一个单引号
        //这种写法确实可以实现动态输入,但是代码不美观
        String s = "insert into Student values('" + id + "',+'" + name + "',+'" +brith + "',+ '" + gender + "')";
        PreparedStatement statement = connection.prepareStatement(s);

很明显的是,这一种写法看起来多多少少有一点奇怪和不美观,但其也确实可以实现对应的效果


更好的方法是使用PreparedStatement的拼装功能来实现-----标识符

标识符

 //预编译SQL语句--自定义输入
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入学号");
        String id = sc.next();
        System.out.println("请输入姓名");
        String name = sc.next();
        System.out.println("请输入出生日期");
        String brith = sc.next();
        System.out.println("请输入性别");
        String gender = sc.next();

//更好的写法是根据PreparedStatement拼装功能来实现
        String sql2 = "insert into Student values(?,?,?,?)";
        PreparedStatement preparedStatement = connection.prepareStatement(sql2);

        //标识符p
        preparedStatement.setString(1,id);//标识符位置从1开始
        preparedStatement.setString(2,name);
        preparedStatement.setString(3,brith);
        preparedStatement.setString(4,gender);

        int ret = preparedStatement.executeUpdate();
        if(ret != -1){
            System.out.println("插入成功");
        }
        System.out.println(ret);

同样可以完成自定义输入操作,且代码可读性更高更简洁

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值