一、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,点击确定,就添加进去了。
效果如下:
注册驱动
注册驱动有三种方式,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型,表明受影响的行数,通常是执行了insert、update、delete等操作。
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,执行,等到结果