加载驱动
//1. 加载驱动,也可以不加载,新版本jdbc会自动加载 Class.forName("com.mysql.cj.jdbc.Driver");
建立连接
//2. 建立连接 //方法一:(本机的数据库写localhost,端口号为3306,账号为root,密码为空) Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", ""); //方法二:(使用 ddd 数据库) Connection conn = DriverManager.getConnection("jdbc:mysql://:3306/ddd", "root", ""); //方法三:(使用参数,直接将账号写入) Connection conn = DriverManager.getConnection("jdbc:mysql://:3306/ddd?user=root"); //(使用部分参数) Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql? useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai", "root", ""); //参数 设置时区 serverTimezone=Asia/Shanghai //参数 使用字符集 useUnicode=true //参数 设置字符集为utf-8 characterEncoding=utf-8 //参数 设置SSL禁用 useSSL = false
检查是否连接上
//输出查看一下,确定是否连接成功 System.out.println(conn);
执行sql语句,使用Java程序操作数据库
//3. 执行sql语句 Statement st = conn.createStatement(); //创建数据库ddd,并设置字符集为utf-8 st.execute("create database ddd default charset utf8"); //创建表 st.execute("create table stu(id int unsigned auto_increment ,name varchar(30),primary key (id))"); //插入数据 int rows = st.executeUpdate("insert into ddd.stu values(null,'李四'),(null,'张三'),(null,'王五')"); //输出插入数据的行数 System.out.println(rows); //通过查询语句,从数据库读出数据,使用循环显示数据 ResultSet rs = st.executeQuery("select * from ddd.stu order by id desc "); if (rs.isBeforeFirst()) { while (rs.next()) { System.out.printf("id:%d,name:%s. %n", rs.getInt(1), rs.getString("name")); } } else { System.out.println("没有数据"); }
关闭连接
//4. 关闭数据库连接 st.close(); rs.close(); conn.close();