JDBC编程六步
1.注册驱动(通知java程序我们即将要连接的是哪个品牌的数据库)
这个要放外面:
Driver driver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);
注意:com.mysql.jdbc.Driver();是mysql厂家写的,实现了java.sql.Driver接口
2.获取数据库连接(Java进程和mysql进程,两个进程之间的通道开启了)
String url = "jdbc:mysql://localhost:3306/itcatt(数据库名字)";
String user = "root";
String url = "jdbc:mysql://localhost:3306/itcatt(数据库名字)";
String user = "root";
String password = "root";
conn = DriverManager.getConnection(url,user,password);
[点击并拖拽以移动]
注意:connection 是接口,接下来引用对象都是用conn.xxx或者conn.yyy
什么是URL?解释:统一资源定位符,任何一个URL都包括:协议(提前规定好的数据传输格式)+IP地址(网络中定位某台计算机)+端口号port(定位计算机上的某个服务)+资源名(这个服务下的某个资源)
URL的详解释: jdbc:mysql :这是java程序和mysql通信的协议
localhost :这是本机的Ip地址,还可以写成:127.0.0.1
3360:mysql数据库的端口
itcatt:mysql数据库的名称
3.获取数据库操作对象
stmt = conn.createStatement();
注意:通过一个连接对象Connection是可以创建多个Statement对象的
4.执行SQL语句
(1)插入操作:
String insertsql = "insert into dept(deptno,dname,loc) values(50,'销售部','北京')";
int count = stmt.executeUpdate(insertsql);//Statement接口中executeUpdate方法执行语句,该方法返回值表示,影响了数据库中表的总记录条数
System.out.println(count);
注意:执行sql 语句的另一种方法executeQuery(是查询的用法)
(2)更新操作:
String updateSql = "update dept set dname = '人事部', loc = '天津市', where deptno = 50";
int count = stmt.executeUpdate(updateSql);
System.out.println(count);
(3)删除操作:
String deleteSql = "delete from dept where deptno = 50";
int counth = stmt.executeUpdate(deleteSql);
System.out.println(count);
5.处理查询结果集
6.释放资源:
例子:
package JDKdemon01;
import java.sql.*;
public class JDBCdemon02 {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {//注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//获取连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/yggl","root","root");
//获取数据库操作对象
stmt = conn.createStatement();
//执行sql语句
String sql = "select 姓名,学历 from employees where 性别 = 1";
rs = stmt.executeQuery(sql);
while (rs.next())//处理查询结果集遍历执行
{
String name = rs.getString("姓名");
String study = rs.getString("学历");
System.out.println(name+","+study);
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}finally {//释放资源
if (rs != null) {
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
}
结果:
王五,大专 伍容华,本科 王向荣,硕士 刘明,本科 朱俊,硕士 张石兵,硕士 林涛,大专 李玉敏,本科 叶凡,本科
注册驱动新方法(以上面例子举例):
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {//直接Class一个
Class.forName("com.mysql.jdbc.Driver");
//可以把其他的代码都放这下面,不需要再获取异常
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {//注册驱动
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//获取连接(其他的都一样)
更多推荐
Java连接数据库(JDBC编程六步)
发布评论