Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
第一个JDBC程序步骤
1.加载驱动
//如果使用的mysql驱动版本为5,那么使用加载驱动为com.mysql.jdbc.Driver //如果使用的mysql驱动版本为6包括以上,那么使用加载驱动为com.mysql.cj.jdbc.Driver Class.forName("com.mysql.cj.jdbc.Driver");//固定写法
2.连接数据库
//jdbc:mysql://地址:端口号/数据库?设置中文字符集为true&设置编码为utf8" 假如你用的mysql驱动包是8.x版本 我们需要加入一段内容 //假如你用的mysql驱动包是8.x版本 我们需要加入一段内容jdbc:mysql://地址:端口号/数据库?serverTimezone=utc //serverTimezone:utc 表示我们使用世界标准日期(以美国时间为准) String url = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8"; //mysql用户名 String username = "root"; //mysql密码 String password = "123456";
3.连接判断
//connection代表的是数据库 //connection.commit(); 事务提交 //connection.rollback(); 事务回滚 //connection.getAutoCommit(); 事务自动提交 Connection connection = DriverManager.getConnection(url, username, password);
4.执行sql的对象
//Statement为执行sql的对象 Statement statement = connection.createStatement();
5.执行sql语句
//SQL查询语句 String sql = "SELECT * FROM `user`"; //ResultSet是返回的结果集 //statement.executeUpdate(); 更新,插入,删除都用这个 //statement.execute(); 所以SQL语句都可以用这个,有判断会降低速度(不推荐) //statement.executeQuery(); 这个为sql查询的语句 ResultSet resultSet = statement.executeQuery(sql); //resultSet.beforeFirst();移动到最后面 //resultSet.afterLast();移动到最前面 //resultSet.next(); 移动到下一个数据 //判断是否有下一个数据 while (resultSet.next()){ System.out.println(resultSet.getInt("id")); System.out.println(resultSet.getObject("name")); System.out.println(resultSet.getObject("pwd")); }
6.释放连接
//由于连接很耗费资源,所以需要在结束后释放连接 resultSet.close(); statement.close(); connection.close();
sql删除示例
String sql = "DELETE FROM `user` WHERE id=3"; st.executeUpdate(sql);
sql插入示例
String sql = "INSERT INTO `user`(id,`name`,pwd) VALUES(3,‘小蓝‘,123)"; st.executeUpdate(sql);
sql更新示例
String sql = "UPDATE `user` SET id=4,`name`=‘小红‘ WHERE id=1"; st.executeUpdate(sql);
判断是否执行sql语句成功
int i = st.executeUpdate(sql);//插入,更新,删除 受影响的行数 if (i>0){ System.out.println("执行成功"); }else { System.out.println("执行失败"); }
第一个完整的JDBC查询程序
JDBC步骤分为,加载驱动,连接数据库,判断连接是否成功,执行sql的对象,执行sql语句,返回结果集,释放连接。以下为完整的jdbc查询连接。
package com.hdt.mysql; import java.sql.*; public class JdbcDemo { public static void main(String[] args) throws ClassNotFoundException, SQLException { //1.加载驱动 Class.forName("com.mysql.cj.jdbc.Driver"); //2.连接数据库 String url = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8"; String username = "root"; String password = "123456"; //3.连接成功 Connection代表数据库 Connection connection = DriverManager.getConnection(url, username, password); //4.执行sql的对象 Statement为执行sql的对象 Statement statement = connection.createStatement(); //5.执行sql语句 String sql = "SELECT * FROM `user`"; //ResultSet是返回的结果集 ResultSet resultSet = statement.executeQuery(sql); while (resultSet.next()){ System.out.println(resultSet.getInt("id")); System.out.println(resultSet.getObject("name")); System.out.println(resultSet.getObject("pwd")); } //6.释放连接 resultSet.close(); statement.close(); connection.close(); } }
一个简单的JDBC解析
标签:base 表示 端口号 comm 编码 rollback 个数 第一个 creates
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did117041