Java —— JDBC
引入mysql链接
创建表格
- Navicat查看建表代码
- 双击要打开的表,右侧顶端点击ddl小方框
CREATE TABLE `s` (`id` int(6) NOT NULL,`name` varchar(20) COLLATE utf8_bin DEFAULT NULL,`age` int(11) DEFAULT NULL,`gender` varchar(2) COLLATE utf8_bin DEFAULT NULL,`dept` varchar(20) COLLATE utf8_bin DEFAULT NULL,`dept_id` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
插入数据
201801 刚子 18 男 数学系 1
201802 严子 18 女 计算机系 2
201803 谢子 20 男 数学系 1
201804 周子 11 女 计算机系 2
201805 喜子 22 男 信息系 3
201806 万子 23 女 数学系 1
201807 婷子 10 男 计算机系 2
201808 周钱系 18 女 信息系 3
201809 雨子 19 男 计算机系 2
201810 小子 18 女 信息系 3
201811 晓子 21 男 计算机系 2
什么是JDBC
- JDBC代表Java数据库连接(Java Database Connectivity)
- 用于Java编程语言和数据库之间进行数据库连接的标准Java API
JDBC代码
package cs.kaoyan.mysql.com;import com.mysql.jdbc.Driver;import java.sql.*;
import java.util.LinkedHashMap;public class Test1 {private static final String url =//jdbc:mysql:连接mysql的协议//db47指的数据库"jdbc:mysql://localhost:3306/db47?useSSL=false&characterEncoding=utf8";private static final String username = "root";private static final String password = "123456";public static void main(String[] args) throws SQLException {//第1步. 注册/加载驱动//用户要想操作数据库需要数据库的驱动//导import com.mysql.jdbc.Driver包//注册驱动写法1:需要排除异常DriverManager.registerDriver(new Driver());// 注册驱动写法2// new Driver();// 注册驱动写法3// Class.forName("com.mysql.jdbc.Driver");//第2步. 建立链接Connection connection = DriverManager.getConnection(url, username, password);// 3. 获取Statement对象// 数据库连接对象Connection并不能直接去发送SQL语句给MySQL服务器// 需要借助于Statement对象包装请求之后发送Statement statement = connection.createStatement();//提交sql语句//s指的是数据库db47中的一张表//新增一条二郎神的数据(增)/*String sql = "insert into s values (201812,'二郎神',2000,'男','计算机系',2);";statement.executeUpdate(sql);*///更新二郎神的年龄为3000岁(改)/*String sql = "update s set age = 3000 where id = 201812;";statement.executeUpdate(sql);*///删除新插入的二郎神的数据(查)/*String sql = "delete from s where id = 201812;";statement.executeUpdate(sql);*///使用有序结构LinkedHashMap用来存储查询到的数据LinkedHashMap<Integer, String> map = new LinkedHashMap<>();//statement连接中的executeQuery方法提供了查询功能//返回以恶搞结果集resultSetString sql = "select * from s;";ResultSet resultSet = statement.executeQuery(sql);//查询结果集while (resultSet.next()){String name = resultSet.getString("name");int id = resultSet.getInt("id");map.put(id,name);}//输出结果System.out.println(map);//关闭链接connection.close();statement.close();}
}