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);
同样可以完成自定义输入操作,且代码可读性更高更简洁