一、什么是JDBC技术?
就是使用java代码,发送sql语句的技术。
二、连接Mysql示例:
(1)首先导入mysql-connector-java-5.1.7-bin.jar,并Build Path
(2)代码:
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public static void test3() throws Exception { //1、注册驱动程序 Class.forName("com.mysql.jdbc.Driver"); //2、获得连接对象 Connection con = DriverManager.getConnection(url, user, password); //3、创建statement对象 Statement statement = con.createStatement(); //4、准备sql语句 String sql = "insert into user values(3,'呵呵','男')"; //5、执行sql语句 int count = statement.executeUpdate(sql); System.out.println(count); }
三、executeUpdate()执行:增删改的sql
executeQuery()执行查询的sql,并返回结果集,使用next()遍历结果。
public static void test4() throws Exception { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(url, user, password); Statement statement = con.createStatement(); String sql = "select * from user"; ResultSet result = statement.executeQuery(sql); while (result.next()) { int id = result.getInt(1); String name = result.getNString(2); String gender = result.getString(3); System.out.println("编号:"+id+"姓名:"+name+"性别:"+gender); } //6、关闭资源:后开的先关 result.close(); statement.close(); con.close(); }
四、PreparedStatement vs Statment
1)语法不同:PreparedStatement可以使用预编译的sql,而Statment只能使用静态的sql
2)效率不同: PreparedStatement可以使用sql缓存区,效率比Statment高
3)安全性不同: PreparedStatement可以有效防止sql注入,而Statment不能防止sql注入。