1.思路:
构思好功能:
1.向数据库录入数据
2.向数据库中添加数据
3.从数据库中删除数据
4.在数据库中修改数据
JAVA代码的执行步骤:
1.手动加载数据库驱动类
2.获得数据库连接对象
3.写sql语句
4.获得执行对象
5.执行sql语句同时获得结果
6.处理结果
7.关闭连接源
每个功能的代码执行步骤是一样的,只是个别步骤的内容要根据功能需求去输入,会有个别差异。最后进行调用即可。
2.代码:
1.向数据库录入DVD数据:
public static void getDt() throws SQLException,ClassNotFoundException{
//1.手动加载数据库驱动类
Class.forName("com.mysql.cj.jdbc.Driver");
//2.建立数据库的连接,获得连接对象
String username="root";
String password="123456";
String ur1="jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
Connection con= DriverManager.getConnection(ur1,username,password);
//3.写sql命令
String sql="select * from dvd";
//4.获得执行对象:
PreparedStatement ps=con.prepareStatement(sql);
//5.执行sql命令,同时获得结果
ResultSet rs=ps.executeQuery();
//6.处理结果
while (rs.next()){//判断结果集对象中,是否还有下一行数据
System.out.println(rs.getInt("id")+"\t"+rs.getString(2)
+"\t"+rs.getString(3)+"\t"+rs.getDouble(4)
+"\t"+rs.getString(5)+"\t"+rs.getInt(6));
}
//7.关闭所有连接资源
rs.close();
ps.close();
con.close();
}
2.向数据库中添加DVD数据:
public static void addDVD() throws ClassNotFoundException, SQLException {
Scanner input=new Scanner(System.in);
//1.手动加载数据库驱动类
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获得数据库连接对象
String username="root";
String password="123456";
String ur1="jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
Connection con= DriverManager.getConnection(ur1,username,password);
//3.写sql语句
String sql="insert into dvd(name,state,money,count) values(?,'可借',?,14)";
//4.获得执行对象
PreparedStatement ps= con.prepareStatement(sql);
System.out.println("请输入要添加的dvd名字:");
String name=input.next();
System.out.println("请输入dvd的日租金:");
double money=input.nextDouble();
ps.setString(1,name);
ps.setDouble(2,money);
//5.执行sql语句同时获得结果
int i= ps.executeUpdate();
//6.处理结果
if (i==1){
System.out.println("添加dvd成功");
}else {
System.out.println("添加dvd失败");
}
//7.关闭连接源
ps.close();
con.close();
}
3.从数据库中删除DVD数据:
public static void delDVD() throws ClassNotFoundException, SQLException {
Scanner input=new Scanner(System.in);
//手动加载数据库驱动类
Class.forName("com.mysql.cj.jdbc.Driver");
//获得数据库连接对象
String username="root";
String password="123456";
String ur1="jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
Connection con=DriverManager.getConnection(ur1,username,password);
//写sql语句
String sql="delete from dvd where name=?";
//获得执行对象
PreparedStatement ps= con.prepareStatement(sql);
System.out.println("请输入要删除的dvd名称");
String name=input.next();
ps.setString(1,name);
//执行sql语句同时获得结果
int i= ps.executeUpdate();
//处理结果
if(i==i){
System.out.println("删除成功");
}else {
System.out.println("删除失败");
}
ps.close();
con.close();
}
4.在数据库中修改DVD数据:
public static void updDVD() throws ClassNotFoundException, SQLException {
Scanner input=new Scanner(System.in);
//手动加载数据库驱动类
Class.forName("com.mysql.cj.jdbc.Driver");
//获得数据库连接对象
String username="root";
String password="123456";
String ur1="jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
Connection con=DriverManager.getConnection(ur1,username,password);
//写sql语句
String sql="update dvd set state=?,lendDate=?,count=count+1 where name=?";
System.out.println("请输入要修改的dvd名称");
String name=input.next();
System.out.println("请输入修改后的状态");
String state=input.next();
System.out.println("请输入修改后的日期");
String date= input.next();
//获的执行对象
PreparedStatement ps= con.prepareStatement(sql);
ps.setString(1,state);
ps.setString(2,date);
ps.setString(3,name);
//获得sql语句 同时获得结果
int i= ps.executeUpdate();
//处理结果
if (i>0){
System.out.println("修改成功");
}else {
System.out.println("修改失败");
}
//关闭连接源
ps.close();
con.close();
}
5.调用方法:
public static void main(String[] args) throws SQLException, ClassNotFoundException {
getDt();
addDVD();
delDVD();
updDVD();
}
3.运行结果:
1.录入数据结果图:
2.添加数据结果图:
3.删除数据结果图:
4.修改数据结果图:
4.总结:
利用JAVA向数据库录入数据,每个功能很多是相似和重复的,但是个别地方是不同的,需要按照功能的不同去修改不同的代码,代码不是很难,多练习几遍就能掌握,需要新手多练多敲。