Maison >base de données >tutoriel mysql >jdbc学习(一)SqlServer、Oracle和MySQL
步骤 第一步:引入需要的包; 如java.sql.*,javax.sql.*; 第二步:加载驱动; Class.forName(String className); 注:另一种方法是:DriverManager.registerDriver(new 驱动类名() (如OracleDriver()) );在实际开发中不推荐这种方法,这种方法会导致驱
步骤第一步:引入需要的包;
如java.sql.*,javax.sql.*;
第二步:加载驱动;
Class.forName(String className);
注:另一种方法是:DriverManager.registerDriver(new 驱动类名()(如OracleDriver()));在实际开发中不推荐这种方法,这种方法会导致驱动程序加载两次,效率不高
第三步:得到与数据库的连接;
Connection conn=DriverManager.getConnection(String url,String user,String password);
注:根据url获取数据库的连接,user是登陆数据库的用户名,password是登陆密码
数据库url详解:url的写法为: localhost可以用指向本地机的回送地址127.0.0.1代替
常用数据库url地址的写法:
Oracle——jdbc:oracle:thin:@localhost:1521:sid
SqlServer——jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid
MySQL——jdbc:mysql://localhost:3306/sid
第四步:创建发送sql语句的对象;
Statement statement=conn.createStatement();
注:
有三种类可用:
①Statement:这个类是最原始最普通的,可以实现crud操作,但在查询操作中可能会出现注入漏洞;
②PrepareStatement:可以对sql语句进行预处理,可以使用其提供的set方法防止注入漏洞,安全性和可靠性比较高;
③CallableStatement:用于调用存储过程;
第五步:通过statement向数据库发送sql语句;
statement.executeUpdate(String sql); //executeUpdate()用于执行INSERT、UPDATE、DELETE语句或DDL语句,会返回一个结果代表该sql语句影响的行数
statement.executeQuery(String sql); //executeQuery()用于执行SELECT语句,会返回一个结果集ResultSet,需要对结构进行处理
第六步:断开与数据库的连接,并释放相关资源(按先打开的后关闭原则进行关闭);
注:整个数据库处理语句会抛异常所以用try catch块包起来,关闭连接的语句写在块后面的finally块中