JDBC:Java DataBase Connectivity
Java数据库连接,实际上jdbc是java中的一套和数据库交互的api(application program interface应用程序编程接口)
1:为什么使用JDBC?
因为Java程序员需要连接多种数据库,为了避免每一种数据库都学习一套新的api,Sun公司提出了一个JDBC的接口,各个数据库的厂商根据此接口写实现类(驱动),这样Java程序员只需要掌握JDBC接口的调用,即可访问任何数据库;
2:如何使用JDBC连接Mysql数据库?
1)创建Maven工程
2)登陆maven.aliyun.com首页搜索Mysql找到5.1.6版本把坐标复制到pom.xml中
3)创建Java类添加main方法通过下面代码连接数据库并执行SQL
(以下是JDBC简单的执行流程)
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接对象
Connection conn = DriverManager.getConnection
("jdbc:mysql://localhost:3306/db3","root", "root");
本次连接的是本地数据库db3 其中root 分别是用户名和密码
//3.创建SQL执行对象
Statement stat = conn.createStatement();
//4.执行SQL
String sql = "drop table if extists jdbc";
stat.excute(sql);
System.out.println("执行完成");
//5.关闭资源:
stat.close();
conn.close();
#执行SQL的方法:
-execute();此方法可以执行任意的SQL,但是推荐执行DDL(数据定义语言create drop alter truncate)返回值为boolean值,返回值发表是否有结果集,
(只有查询语句有结果集);
-executeUpdate();增删改操作全部使用此方法,返回值为int,表示生效的行数;
-executeQuery();此方法执行查询操作,返回ResultSet,通过while循环遍历;
代码如下:
//执行查询,得到的结果封装在了resultset中
ResultSet rs = stat.executeQuery(sql);
//遍历结果集
while(rs.next()){
int empno = rs.getInt("empno");
String name = rs.getString("ename");
double sal = rs.getDouble("sal");
System.out.println(empno+name+sal);
}
从ResultSet中获取数据的两种方式:
1:通过表字段的名称获取
2:通过结果中字段的位置获取(以本次查询的字段顺序为准,并非表字段的顺序)
以上代码可以实现JDBC连接数据库并执行Sql语句,但是每次更换数据库或更改连接信息时需要修改源代码,所以很不方便后期维护,我们可以进行优化,代码如下:
(可以将数据库连接信息放入配置文件中,然后通过读取配置文件的方式获取信息,这样每次更改就不需要更改源代码,但是执行JDBC的流程都是一样的所以我们完全可以将这些重复的代码提取出来,变成一个工具类)
至此,JDBC的工具类已经创建好了,这样我们就可以方便的使用JDBC了,上代码:
以上使用了Junit
网友评论