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目录下即可.

------------恢复内容结束------------

posted @ 2020-09-03 12:58  relo  阅读(157)  评论(0)    收藏  举报