JDBC
JDBC:Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
任何应用程序都不能直接对数据库进行操作,它们都要依赖于驱动,但是每个不同的数据库都有着不同的驱动,SUN公司为了简化开发人员对数据库的统一操作,于是提出了一个Java操作数据库的规范,俗称JDBC,它的具体规范再由具体的数据库厂商去实现,对于我们开发人员,只需掌握JDBC接口的操作即可。
这就完美诠释了在架构中的一句话:没有什么是加一层解决不了的,如果不行,那就加两层。
想要使用Java连接MySQL数据库,我们需要用到Java中的java.sql
包和javax.sql
包,还要手动导入mysql的数据库驱动包(mysql-connector-java.jar),可以在Maven仓库中直接下载,Maven仓库下载地址,进去根据自己的需要选择版本下载即可。
博主这里以mysql-connector-java-5.1.37-bin.jar为驱动jar包,idea为开发环境作为演示:
准备工作:
- 数据库sql,先将以下数据导入mysql数据库
-- 指定数据库
USE `test02`;
-- 建表
CREATE TABLE `student` (
`id` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 插入数据
insert into `student`(`id`,`name`,`password`)
values (1,'小米','123456'),
(2,'小明','qwerty'),
(3,'xiaohli','asdfgh'),
(4,'小李','asdfgh'),
(5,'小红','asdfgh');
简单JDBC程序:
- 在idea创建一个普通项目MysqlDemo01
- 在项目路径下创建一个lib目录
- 复制我们准备的mysql数据库驱动包到lib目录下
- 将该jar包导入项目
然后在弹出的窗口上点击OK即可,此时就已经将mysql数据库的驱动导入项目了,在idea中明显的成功标记就是我们能展开lib目录下的jar包。
- 新建测试类
//简单JDBC程序
public class JdbcDemo01 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.用户信息和url
//useUnicode=true:支持中文编码
//characterEncoding=utf8:设置编码为utf8
//useSSL=true:使用安全的连接
String url = "jdbc:mysql://localhost/test02?useUnicode=true&characterEncoding=utf8&useSSL=true"; //连接路径
String username = "root"; //用户名
String password = "123456"; //密码
//3.获取数据库连接对象
Connection connection = DriverManager.getConnection(url, username, password);
//4.获取执行sql语句的对象
Statement statement = connection.createStatement();
//5.执行sql语句
String sql = "select * from student";
ResultSet resultSet = statement.executeQuery(sql);
//遍历查询结果
while (resultSet.next()) {
System.out.print("id=" + resultSet.getInt("id") + ", ");
System.out.print("name=" + resultSet.getString("name") + ", ");
System.out.print("password=" + resultSet.getString("password"));
System.out.println();
}
//6.释放连接资源
resultSet.close();
statement.close();
connection.close();
}
}
运行结果为:
我们发现打印结果与我们数据库表中存储的数据一致,这就表示我们通过Java连接mysql数据库成功了。