JDBC链接Mysql数据库
------------恢复内容开始------------
JDBC-----Java DataBase Connectivity(Java语言链接数据库)
1.JDBC 本质上是一套接口
存在在java.sql.*下
面向接口调用,面向接口写实现类,都属于面向接口编程
为什么要面向接口编程?
解耦合:降低程序的耦合度,提高程序的扩展力。

2.创建对象通过反射机制
Class c = Class.forname("Mysql");
JDBC jdbc = (JDBC) c.newInstance;
jdbc.getConnection;
3.配置文件(通过修改配置文件来链接不同数据库)
导入java.util.*;
ResourceBundle bundle = ResourceBundle("jdbc");
String className =bundle.getString("className");
Class c = Class.forName(className);
JDBC jdbc = (JDBC) c.newInstance();
jdbc.getConnection();
这样就可以只用修改配置文件来使用不同的数据库(Mysql,Oracle,Ms)
4.JDBC编程六部
①:注册驱动(告诉java程序,即将链接的是哪个数据库)
获取驱动类
Driver driver = new com.mysql.cj.jdbc.Driver();
②:获取链接(表示JVM的进程和数据库之间的通道打开了)(进程通信,使用之后一定要关闭)
获取链接时需要 url、user、password
URL:统一资源定位符(网络中某个资源的绝对路径)分别由 协议:ip地址:端口:资源名
localhost<------->127.0.0.1 都是本机ip地址
String url = "jdbc:mysql://localhost:3306/(需要操作的数据库名字)?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
user:root
password:123123(根据自己设置的密码)
③:获取数据库操作对象(专门执行sql语句的对象)
④:执行SQL语句(DQL,DML)
⑤:处理查询结果
⑥:释放资源
5.JDBC链接数据库模板
/*链接数据库时需要的url、user、password */
//问号前的company实际时当前要操作的数据库名称 public static String url = "jdbc:mysql://localhost:3306/" + "company?useUnicode=true&characterEncoding=" + "utf8&serverTimezone=GMT%2B8&useSSL=false";
//user = "登录数据库的用户名,一般为root(即管理员)" public static String user = "root"; //password = "使用mysql时的登录密码"; public static String passwrod = "123123"; public static void main(String[] args) {//链接数据库的实现类 Connection connection = null; //用于执行sql的实体 Statement statement = null; try { //1.启动驱动(常用启动驱动的方式)通过反射机制(forName参数为字符串,可以通过修改配置来启动不同驱动) Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取链接 DriveManager.getConnection("url","user","password"); connection = DriverManager.getConnection(url,user,passwrod); System.out.println("链接数据库成功"+connection); //3.获取数据库操作实体 statement = connection.createStatement(); /** * 执行sql操作 */ } catch (SQLException throwables) { throwables.printStackTrace(); } /**断开链接 * 按由小到大的顺序依次释放 * statement对象和connection对象 */ finally { if(statement!=null){ try { statement.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if(connection!=null){ try { connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } }
6.解决 在Servlet项目中启动Jdbc驱动时遇到找不到Driver类

将mysql的connecter.jar导入web目录下即可.
------------恢复内容结束------------

浙公网安备 33010602011771号