JDBC - 规范
Java DataBase Connectivity## 标题
JDK 提供,Java链接数据库的规范
采用JDBC访问数据库的基本步骤:
A.载入JDBC驱动程序
B.定义连接URL
C.建立连接
D.创建Statement对象
E.执行查询或更新
F.结果处理
G.关闭连接
1.加载驱动
类加载可能出异常的原因:
1.类名写错
2.没有导入jar包
2.连接数据库
/*
* oracle: ip port sid username password
* mysql: ip port database username password
* url:
* oracle - jdbc:oracle:thin:@192.168.6.66:1521:orcl
* mysql - jdbc:mysql://127.0.0.1:3306/test
* jdbc:mysql://localhost:3306/test
* 本地默认端口号的数据库 jdbc:mysql:///test
/
/
* 可能产生异常:SQLException
* 产生原因:
* 1.账号、密码错误
* 2.url错误[格式错]
*/
3.获得操作数据库的Statement对象
DriverManager.getConnection(
“jdbc:”
“username”
“password”
);
什么时候类加载?- 类被使用的时候
1.new 对象
2.使用静态成员[变量、方法]的时候
3.子类加载会加载父类
4.Class.forName(“java.lang.String”) - 通过类名加载类
Statement和PreparedStatement的异同及优缺点
同:两者都是用来执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,表示有多少条数据受到了影响。