JDBC入门

1,833 阅读2分钟

一、JDBC概念

JDBC一般指java数据库连接,是Java DataBase Connectivity的缩写。是java用来规范客户端如何来访问数据库的应用程序接口,是一种用于执行SQL语句的java API。主要用于关系型数据库。 本质就是java官方提供的一套规范(接口)。用于帮助开发人员快速实现不同关系型数据库的连接。

二、操作

导入jar包

在项目中创建libs文件,将mysql-connector-java-5.1.37-bin.jarjar包复制到libs文件中,点击jar包,鼠标右键,点击Add as Library,点击确定,就添加进去了。

效果如下: image.png

注册驱动

注册驱动有三种方式,DriverManager.registerDriver System.setProperty Class.forName,这里使用最后一种

Class.forName("com.mysql.jdbc.Driver");

获取连接

DriverManager.getConnection() 方法用于获得试图建立到指定数据库 URL 的连接。传入三个参数,分别是路径,用户名和密码

// 获取连接并返回连接对象
Connection con =  DriverManager.getConnection(
    "jdbc:mysql://xxx.xxx.xx.xxx:3306/db2",
    "root",
    "xxxx"
)

获取执行者对象

createStatement() 方法创建用于执行静态SQL 语句并返回它所生成结果的对象。 这里暂时先使用createStatement(),再说下另外一个prepareStatement

区别:

  • prepareStatement会先初始SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率;可以保证SQL安全问题,防止SQL注入,可以重复使用;
  • createStatement不会初始化,没有预处理,只能在SQL中拼接参数,容易造成SQL注入,如果要删除多条数据,需要写多条SQL语句;
Statement stat = con.createStatement();

执行语句

  • execute执行增删改查操作,返回的结果是个boolean型,当返回的是true的时候,表明有ResultSet结果集,通常是执行了select操作,当返回的是false时,通常是执行了insert、update、delete等操作。execute通常用于执行不明确的sql语句。
  • executeQuery执行查询操作,返回ResultSet结果集,通常是执行了select操作。
  • executeUpdate执行增删改操作,返回的是int型,表明受影响的行数,通常是执行了insertupdatedelete等操作。
String sql = "SELECT * FROM user";
ResultSet result = stat.executeQuery(sql);

处理结果

rs.next:将指针从当前位置下移一行,如果新的当前行有效,则返回 true;如果不存在下一行,则返回 false

while (rs.next()) {
    System.out.println(
            rs.getInt("id")
                    +"\t"
                    +rs.getString("name")
    );
}

最后释放资源

将连接对象,执行者对象,结果对象资源释放掉。

con.close();
stat.close();
con.close();

三、结果

ctrl+shift+f10,执行,等到结果

image.png