目录

一、JDBC简介

二、添加依赖

三、JDBC操作数据库的步骤

四、JDBC操作数据库——增删改查

(一)新增数据

(二)删除数据

(三)修改数据

(四)查询数据

(五)多表连接查询


一、JDBC简介

Java数据库连接,(Java Database Connectivity,简称JDBC)是java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,我们通常说的JDBC是面向关系型数据库的。

二、添加依赖

mysqlmysql-connector-java8.0.29

三、JDBC操作数据库的步骤

注意:在使用JDBC之前要保证数据库远程连接服务启动!

1.Class.forName()加载驱动

2.DriverManager获取Connection连接

3.创建Statement执行SQL语句

4.增删改操作使用preparedStatement.executeUpdate();返回影响的行数

查询操作使用preparedStatement.executeQuery();返回查询结果

5.释放资源

四、JDBC操作数据库——增删改查

首先创建表:

create table if not exists dog(id int(10) primary key auto_increment,name varchar(32) comment '宠物名',health int(10) comment '健康值',love int(10) comment '亲密度',strain varchar(32) comment '品种',lytime datetime comment '领养时间');

(一)新增数据

package jdbcstu;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class Dog {public static void main(String[] args) {Connection connection = null;PreparedStatement preparedStatement = null;try {//com.mysql.jdbc.Driver// 第一步:加载驱动Class.forName("com.mysql.jdbc.Driver");// 第二步:获取Connection对象connection = DriverManager.getConnection("jdbc:mysql://192.168.180.141:3306/jdbcstudb", // mysql服务器地址,端口,数据库名"root", // 数据库的用户名"root" // 数据库密码);System.out.println(connection);// 第三步:操作数据库 增删改查/*新增*///String sql = "insert into dog(name,health,love,strain,lytime) values(?,?,?,?,?)";String sql = "insert into dog(name,health,love,strain,lytime) values(?,?,?,?,now())";String name = "ggg";Integer health = 92;Integer love = 66;String strain = "斗牛";//Date date = new Date(System.currentTimeMillis());// 只能存年月日// 第三步:创建preparedstatementpreparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1,name);preparedStatement.setInt(2,health);preparedStatement.setInt(3,love);preparedStatement.setString(4,strain);//preparedStatement.setDate(5,date);// 第四步:获取到执行新增语句后的返回结果int num = preparedStatement.executeUpdate(); // 返回影响的行数if(num > 0){System.out.println("新增宠物狗成功!");}}catch (ClassNotFoundException e){e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}finally {// 第五步:释放资源try {if (preparedStatement != null) {preparedStatement.close();}if (connection != null) {connection.close();}}catch (SQLException e) {e.printStackTrace();}}}}

(二)删除数据

package jdbcstu;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class Dog {public static void main(String[] args) {Connection connection = null;PreparedStatement preparedStatement = null;try {//com.mysql.jdbc.Driver// 第一步:加载驱动Class.forName("com.mysql.jdbc.Driver");// 第二步:获取Connection对象connection = DriverManager.getConnection("jdbc:mysql://192.168.180.141:3306/jdbcstudb", // mysql服务器地址,端口,数据库名"root", // 数据库的用户名"root" // 数据库密码);System.out.println(connection);// 第三步:操作数据库 增删改查String sql = "delete from dog where name = " />0){System.out.println("删除成功!"+num);}}catch (ClassNotFoundException e){e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}finally {// 第五步:释放资源try {if (preparedStatement != null) {preparedStatement.close();}if (connection != null) {connection.close();}}catch (SQLException e) {e.printStackTrace();}}}}

(三)修改数据

package jdbcstu;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class Dog {public static void main(String[] args) {Connection connection = null;PreparedStatement preparedStatement = null;try {//com.mysql.jdbc.Driver// 第一步:加载驱动Class.forName("com.mysql.jdbc.Driver");// 第二步:获取Connection对象connection = DriverManager.getConnection("jdbc:mysql://192.168.180.141:3306/jdbcstudb", // mysql服务器地址,端口,数据库名"root", // 数据库的用户名"root" // 数据库密码);System.out.println(connection);// 第三步:操作数据库 增删改查String sql = "update dog set name = ?,health = ?,love = ? where id = ?";preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1,"二哈");preparedStatement.setInt(2,99);preparedStatement.setInt(3,80);preparedStatement.setInt(4,2);int num = preparedStatement.executeUpdate();if(num > 0){System.out.println("修改宠物狗成功!");}}catch (ClassNotFoundException e){e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}finally {// 第五步:释放资源try {if (preparedStatement != null) {preparedStatement.close();}if (connection != null) {connection.close();}}catch (SQLException e) {e.printStackTrace();}}}}

(四)查询数据

package jdbcstu;import java.sql.*;public class Dog {public static void main(String[] args) {Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {//com.mysql.jdbc.Driver// 第一步:加载驱动Class.forName("com.mysql.jdbc.Driver");// 第二步:获取Connection对象connection = DriverManager.getConnection("jdbc:mysql://192.168.180.141:3306/jdbcstudb", // mysql服务器地址,端口,数据库名"root", // 数据库的用户名"root" // 数据库密码);System.out.println(connection);// 第三步:操作数据库 增删改查String sql = "select id,name,health,love,strain,lytime from dog where health = ? and strain = ? limit ?,?";preparedStatement = connection.prepareStatement(sql);preparedStatement.setInt(1,99);preparedStatement.setString(2,"哈士奇");preparedStatement.setInt(3,0);preparedStatement.setInt(4,2);resultSet = preparedStatement.executeQuery();System.out.println("\t\t\t狗狗信息");System.out.println("编号\t宠物名\t健康值\t亲密度\t品种\t\t领养时间");while (resultSet.next()){System.out.print(resultSet.getInt("id")+"\t");System.out.print(resultSet.getString("name")+"\t\t");System.out.print(resultSet.getInt("health")+"\t\t");System.out.print(resultSet.getInt("love")+"\t\t");System.out.print(resultSet.getString("strain") + "\t\t");System.out.println(resultSet.getDate("lytime")+"\t");}}catch (ClassNotFoundException e){e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}finally {// 第五步:释放资源try {if (preparedStatement != null) {preparedStatement.close();}if (connection != null) {connection.close();}if(resultSet != null){resultSet.close();}}catch (SQLException e) {e.printStackTrace();}}}}

(五)多表连接查询

package jdbcstu;import java.sql.*;public class Master {public static void main(String[] args) {Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {// 第一步:加载驱动Class.forName("com.mysql.jdbc.Driver");// 第二步:获取connection对象connection = DriverManager.getConnection("jdbc:mysql://192.168.180.141:3306/jdbcstudb","root","root");System.out.println(connection);// 第三步:操作数据库 增删改查/*查询数据*/String sql = "select m.name ,\n" +" m.age ,\n" +" m.gender ,\n" +" m.yearnum ,\n" +" d.name ,\n" +" d.health ,\n" +" d.love \n" +" from master m\n" +"join dog d on m.did = d.id\n" +"where m.age > " />