Programming languages, such as Java, C, C, Python and other databases, such as Oracle, MySQL, SQL Server and other database driver packages: different databases correspond to different Programming languages provide different database driver packages. For example, MySQL provides the Java driver package mysql-connector-java. This driver package is required to operate MySQL based on Java. If you want to use Java to operate the Oracle database, you must use Oracle's database driver package ojdbc.
Java Database Connectivity, referred to as JDBC, is a Java API used to connect to a database. Java API is used to execute SQL statements, which is a database connection specification in Java. This API consists of some classes and interfaces in the java.sql.*, javax.sql.* packages. It provides a standard API for Java developers to operate databases and can provide unified access to multiple relational databases.
DBC provides a unified access method for a variety of relational databases. As a high-level abstraction for a specific manufacturer's database access API, it mainly includes some common interface classes.
JDBC access database hierarchy:
First check your MySQL version in the computer service, and then Enter the maven repository
Because my own version is after 5.0, I chose 5.1.47, and the major versions must be consistent
Just download the jar. Remember, the jar package cannot be decompressed.
The next step is to put the idea in the root directory. Create a folder under and then import the jar package
# # If there is no error and it continues to be OK, there will be no problem, indicating that the import is successful5. JDBC programming in MySQL1. Five-step processEstablishing a database connection
// 加载JDBC驱动程序:反射,这样调用初始化com.mysql.jdbc.Driver类,即将该类加载到JVM方法 区,并执行该类的静态方法块、静态属性。 Class.forName("com.mysql.jdbc.Driver"); // 创建数据库连接 Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test? user=root&password=root&useUnicode=true&characterEncoding=UTF-8");
//MySQL数据连接的URL参数格式如下: jdbc:mysql://服务器地址:端口/数据库名?参数名=参数值
Statement statement = connection.createStatement();
ResultSet resultSet= statement.executeQuery( "select id, sn, name, qq_mail, classes_id from student");
while (resultSet.next()) { int id = resultSet.getInt("id"); String sn = resultSet.getString("sn"); String name = resultSet.getString("name"); int classesId = resultSet.getInt("classes_id"); System.out.println(String.format("Student: id=%d, sn=%s, name=%s, classesId=%s", id, sn, name, classesId)); }
//关闭结果集 if (resultSet != null) { try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } //关闭命令 if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } //关闭连接命令 if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } }
create database java122;
create table text(id int,name varchar(5),class_id int);
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class TextJDBC { //DataSource //Connection //PrepareStatement public static void main(String[] args) throws SQLException{ //1、创建DataSource对象 DataSource dataSource = new MysqlDataSource(); //设置相关内容 //URL User password //向下转型 访问数据库 协议名 ip地址 要访问那个地址 ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false"); ((MysqlDataSource) dataSource).setUser("root"); ((MysqlDataSource) dataSource).setPassword("180210"); //2、和数据库连接.进行后续连接 //connect生命周期较短 Connection connection = dataSource.getConnection(); //3、拼装SQL语句 int id = 1; String name = "曹操"; int class_id = 10; //?是一个占位符,可以把一个具体的变量的值替换到? String sql = "insert into text values(?,?,?)"; PreparedStatement statement = connection.prepareStatement(sql); //1 2 3相当与?的下标 statement.setInt(1,id); statement.setString(2,name); statement.setInt(3,class_id); System.out.println("statement:" + statement); //4、执行SQL语句 int ret = statement.executeUpdate(); System.out.println("ret:" + ret); //5、关闭相关资源 //后创建的先释放,顺序不能错 statement.close(); connection.close(); } }
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; import javax.sql.DataSource; import javax.xml.transform.Source; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Scanner; public class Text1 { public static void main(String[] args) throws SQLException { //1,创建实列 DataSource dataSource = new MysqlDataSource(); ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("180210"); //2,数据库连接 Connection connection = dataSource.getConnection(); //3,构造SQL语句 String sql ="select * from text"; PreparedStatement statement = connection.prepareStatement(sql); //4,执行SQL语句 ResultSet resultSet = statement.executeQuery(); while (resultSet.next()){ int id = resultSet.getInt("id"); String name = resultSet.getString("name"); int class_id = resultSet.getInt("class_id"); System.out.println("id: " + id + "name: " + name + "class_id: " + class_id); } //5,关闭相关资源 resultSet.close(); statement.close(); connection.close(); } }
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Scanner; public class Textur2 { public static void main(String[] args) throws SQLException { Scanner scanner = new Scanner(System.in); System.out.println("请输入要删除学生的姓名:"); String name = scanner.next(); //1,创建实列 DataSource dataSource = new MysqlDataSource(); ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false"); ((MysqlDataSource) dataSource).setUser("root"); ((MysqlDataSource) dataSource).setPassword("180210"); //2,数据库连接 Connection connection = dataSource.getConnection(); //3,构造SQL语句 String sql = "delete from text where name = ?"; PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1,name); //4,执行SQL int ret = statement.executeUpdate(); if (ret == 1){ System.out.println("删除成功"); }else { System.out.println("删除失败"); } //5,关闭资源 statement.close(); connection.close(); } }
##5. Modify information
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Scanner; public class Text4 { public static void main(String[] args) throws SQLException { //修改信息 Scanner scanner = new Scanner(System.in); System.out.println("请输入学生的id:"); int id = scanner.nextInt(); System.out.println("请输入修改学生姓名:"); String name = scanner.next(); //1,创建实列 DataSource dataSource = new MysqlDataSource(); ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false"); ((MysqlDataSource) dataSource).setUser("root"); ((MysqlDataSource) dataSource).setPassword("180210"); //2,数据库连接 Connection connection = dataSource.getConnection(); //3,拼装SQL String sql = "update text set name = ? where id = ?"; PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1,name); statement.setInt(2,id); //4,执行SQL int set = statement.executeUpdate(); if (set == 1){ System.out.println("修改成功"); }else { System.out.println("修改失败"); } //5,关闭资源 statement.close(); connection.close(); } }
The above is the detailed content of How to analyze JDBC programming in MySQL. For more information, please follow other related articles on the PHP Chinese website!