Java实现JDBC连接MySql数据库实例

版权声明:本文为博主原创文章,如需转载请先联系作者后注明出处 https://blog.csdn.net/weixin_42158633/article/details/89436594

步骤1 :创建项目后引入所需的mysql驱动jar包

这里用maven从仓库引入jar包:在pom.xml文件中添加下面内容:

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.38</version>
    </dependency>

步骤2 :编写Demo实例

其一:

import java.sql.*;

public class MyJDBC {
    private static final String URL="jdbc:mysql://127.0.0.1:3306/stu";
    private static final String USER="root";
    private static final String PASSWORD="";

    public static void main(String[] args) throws ClassNotFoundException, SQLException {

        //1.加载驱动程序
        Class.forName("com.mysql.jdbc.Driver");
        //2.获得数据连接
        Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
        //3.使用数据库的连接创建声明
        Statement stmt = conn.createStatement();
        //4.使用声明执行SQL语句
        ResultSet rs = stmt.executeQuery("select * from user");
        //5.读取数据库的信息
/**
*boolean next() 方法 如果新的当前行有效,则返回 true;如果不存在下一行,则返回 false 
* 将光标从当前位置向前移一行。ResultSet 光标最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。 
*/
        while(rs.next()){ 
            String id = rs.getString("id");
            String name = rs.getString("username");
            String pwd = rs.getString("pwd");
            System.out.println(id+" 用户名:"+name+"密码:"+pwd);
        }

    }
}

控制台输出:

1 用户名:李磊密码:123456
2 用户名:Jack密码:abc
3 用户名:Tom密码:123

其二:接口 ResultSet的指向数据行光标的应用

import com.stu.entity.User;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class Demo {

    public static void main(String[] args) throws Exception {
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");

        String url = "jdbc:mysql://localhost:3306/stu?useUnicode=true&characterEncoding=UTF-8";
        String user = "root";
        String pwd = "";
        //2.获得数据库链接
        Connection con = DriverManager.getConnection(url,user,pwd);
        //3.使用JDBC接口规范实现CRUD

        /**
         * 向数据库中添加一行信息
         */
        String sql = "insert into user(username,password) values(?,?)";
        PreparedStatement ps = con.prepareStatement(sql); //接口 PreparedStatement 表示预编译的 SQL 语句的对象
        ps.setString(1,"张三");
        ps.setString(2,"1234");
        ps.executeUpdate();//方法:在此 PreparedStatement 对象中执行 SQL 语句 成功后返回操作的行数

        /**
         * 查询表所有数据
         */
        String sql2 = "select * from user";
        ps = con.prepareStatement(sql2);
        //接口 ResultSet 表示数据库结果集的数据表
        ResultSet rs = ps.executeQuery(); //在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象
        List<User> list = new ArrayList<User>();
        while (rs.next()){
            int id = rs.getInt(1); //以 int 的形式获取此 ResultSet 对象的当前行中指定列的值。
            String username = rs.getString(2);//以String的形式获取此 ResultSet 对象的当前行中指定列的值。
            String password = rs.getString(3);

            User u = new User(id,username,password);
            list.add(u);
        }
        System.out.println(list);
        
    }
}

数据库操作前:

控制台输出:

[User{id=1, username='李磊', password='123456'}, User{id=2, username='Jack', password='abc'}, User{id=3, username='Tom', password='123'}, User{id=4, username='张三', password='1234'}]

数据库操作后:

使用到的类或接口:

java.sql 接口 PreparedStatement   表示预编译的 SQL 语句的对象。

java.sql 接口 ResultSet 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。(重点:对光标的使用

java.sql 接口 Connection 与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。

猜你喜欢

转载自blog.csdn.net/weixin_42158633/article/details/89436594