jdbc开发步骤:
1.注册驱动,告知jvm使用的是哪个数据库
2.获得连接, 使用 JDBC中的类,完成对MySQL数据库的连接
3.获得语句执行平台, 通过连接对象获取对SQL语句的执行对象
4.执行sql语句, 项数据库SQL语句的执行者对象
5.处理结果
6, 释放资源 xx.close(); 关闭顺序:先得到后关闭,后得到的后关闭
eg:
public static void main(String []args) throws SQLException, ClassNotFoundException {
//1.注册驱动(静态方法)(包名+类名)
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接对象(导包都导sql里面的,不导jdbc里的;多态!报异常是因为用户输入的串可能写错)后面设置下数据格式
String url="jdbc:mysql://localhost:3306/java0603?useUnicode=true&characterEncoding=UTF-8";
String user="root";
String password="123456";
Connection conn=DriverManager.getConnection(url,user,password);
//System.out.println(conn);报地址为正确sql服务关了可能报错
//3.获取语句执行平台:
Statement sta=conn.createStatement();
//4.执行SQL语句:增-----一套语句执行一句sql语句 返回的是一个Int值,是指执行了几行
String sql="insert into sort(sname) values('口红')";
int row=sta.executeUpdate(sql);
System.out.println(row);
//6.释放资源(先开后关)
sta.close();
conn.close();
}
###############################################################################
同:两者都是用来执SQL语句的
异:PreparedStatement需要根据SQL语句来创建,它能够通过设置参数,指定相应的值,不是像Statement那样使用字符串拼接的方式。
PreparedStatement的优点:
1、其使用参数设置,可读性好,不易记错。在statement中使用字符串拼接,可读性和维护性比较差。
2、其具有预编译机制,性能比statement更快。
3、其能够有效防止SQL注入攻击。
###############################################################################
execute和executeUpdate的区别
相同点:二者都能够执行增加、删除、修改等操作。
不同点:
1、execute可以执行查询语句,然后通过getResult把结果取出来。executeUpdate不能执行查询语句。
2、execute返回Boolean类型,true表示执行的是查询语句,false表示执行的insert、delete、update等。executeUpdate的返回值是int,表示有多少条数据受到了影响。
来源:CSDN
作者:王&叔
链接:https://blog.csdn.net/weixin_44214086/article/details/103984670