JDBC
1.介绍
jdbc(java database connectivity)是一套规则规范,用于屏蔽各个数据库之间的差异,是(让java程序员连接数据库变得更加简单,容易)java规定各个数据库厂商必须遵守的规则。
2.JDBC的实现过程
2.1.导入需要的数据库的jar包(这里使用maven以及MySql数据库)
导入mysql的驱动包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2.2.加载驱动
因为这里只讨论jdbc,所以通过反射来获取驱动。
Class.forName("com.mysql.jdbc.Driver");
2.3创建连接,调用DriverManager.getConnection方法,返回一个连接对象Connection
Connection conn = DriverManager.getConnection("url", "user", "password");
url是指你的数据库地址,jdbc:mysql://(这里写你服务器的ip地址)/(这里写你的服务名)
服务器ip地址若是本机的话就是127.0.0.1:3306(其中3306是mysql的默认端口号)
user就是你的数据库用户名,同理passwrd就是你的数据库密码
2.4执行sql语句
2.4.1.创建sql命令发送器
Statement stat = conn.createStatement();
当然也可以创建PreparedStatement对象
String sql = "你的sql语句"
PreparedStatement prep = conn.prepareStatement(sql语句);
PreparedStatement的效率比 Statement好些,还能使用预编译
2.4.2.执行sql命令
2.4.2.1.查询语句,然后返回结果
ResultSet rs = stmt.executeQuery("select * from 表名");
// next()方法将指针往下移动,如果当前行有记录返回true,否则返回false
while (rs.next()) {
// 获取当前行的每个列的数据
int aa = rs.getInt(1);
String bb = rs.getString("字段名1");
String cc = rs.getString("字段名2");
System.out.println(aa + "..." + bb + "..." + cc);
}
2.4.2.2.插入语句,然后返回结果
int i = stmt.executeUpdate("insert into 表名 values(id,'字段1','字段2')");
//处理结果
if (i > 0) {
System.out.println("插入数据成功");
} else {
System.out.println("插入数据失败");
}
2.4.2.3.修改语句,然后返回结果
int i = stmt.executeUpdate("update 表名 set 字段1='xx1',字段2='xx2' where id=xxx");
// 处理结果
if (i > 0) {
System.out.println("修改数据成功");
} else {
System.out.println("修改数据失败");
}
2.4.2.4.删除语句,然后返回结果
int i = stmt.executeUpdate("delete from 表名 where id=xxx");
// 处理结果
if (i > 0) {
System.out.println("删除数据成功");
} else {
System.out.println("删除数据失败");
}
2.5关闭资源
//若创建了结果集ResultSet,也需要关闭
rs.close();
stmt.close();
conn.close();