首页 > 数据库 >jdbc 数据库连接

jdbc 数据库连接

时间:2022-09-29 15:04:29浏览次数:54  
标签:jdbc 数据库 Driver 连接 jdbcUrl user password properties

连接数据库
1)通过Driver来连接(Driver:数据库厂商提供的一个接口)
    public void testDriver()throws Exception{
      Driver driver = new com.mysql.jdbc.Driver();
      String Url = "jdbc:mysql://localhost:3306/test_user";//地址(jdbcUrl)
      Properties properties = new Properties();//连接数据库所需要的信息
      properties.put("user","user");
      properties.put("password","password");
Connection con = driver.connect(Url,properties);  
}
  Driver:通过配置文件来连接
  public Connection getConnection() throws Exception{
    String driverClass = null;
    String jdbcUrl = null;
    String user = null;
    String password = null;

    //读取类路径下的properties
    InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");//创建输入流
    Properties properties = new Properties();
    properties.load(in);//载入
    driverClass=properties.getProperty("driver");//获取key为“driver”的值
    jdbcUrl = properties.getProperty("jdbcUrl");
    user = p.getProperty("user");
    password = p.getProperty("password");


    Driver driver = (Driver) Class.forName(driverClass).newInstance();//实例化
    Properties info = new Properties();
    info.put("user",user);
    info.put("password",password);
    Connection connection = driver.connect(jdbcUrl, info);
    return connection;
}
    jdbc.properties文件:
      driver=com.mysql.jdbc.Driver
      jdbcUrl=jdbc:mysql://localhost:3306/test_user
      user=root
      password=    2)通过DriverManager连接数据库
        //DriverManager是驱动类管理:
        //1、可以通过带重载getConnection()的方法获取数据库连接,
        //2、可以同时管理多个驱动程序:因为getConnection()中有一个类是DriverInfo

        public void testDriverManager() throws Exception{
          //1.准备连接数据库的4个参数,
          //a.驱动全类名
          String driverClass = null;
          //b.jdbcUrl
          String jdbcUrl = null;
          //c.user
          String user = null;
          //d.password
          String password = null;

          //读取类路径下的properties
          InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
          Properties p = new Properties();
          p.load(in);
          driverClass=p.getProperty("driver");
          jdbcUrl = p.getProperty("jdbcUrl");
          user = p.getProperty("user");
          password = p.getProperty("password");
          //2.加载驱动程序(注册驱动)
          //这里不用写“DriverManager.registerDriver(Class.forName(driverClass)),Driver有静态代码块(可以注册不同的驱动),已经注册过了”
          Class.forName(driverClass);//加载数据库驱动,
          //3.通过DriverManager获取数据库连接
          Connection connection = DriverManager.getConnection(jdbcUrl,user,password);
}以上方式,总觉的很麻烦,如果没有用框架的话,可以直接写死
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_user","root","");
      


我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。
我要做一个自由又自律的人,靠势必实现的决心认真地活着。

标签:jdbc,数据库,Driver,连接,jdbcUrl,user,password,properties
From: https://blog.51cto.com/u_10632206/5722955

相关文章

  • jdbc 数据的增删改查的Statement Resultset PreparedStatement
    完成数据库的连接,就马上要对数据库进行增删改查操作了;先来了解一下Statement通过JDBC插入数据(这里提供一个查找和插入方法)Statement:用于执行sql语句的对象;*1.通过C......
  • 数据库表行列转换
    行转列创建表kecheng,并插入数据insertintokecheng(id,name,course,score)values(1,'张三','语文',67);insertintokecheng(id,name,course,score)......
  • kettle 8.3 连接mysql8.0.30 的入坑体验
    写这个东西主要是想吐槽为主,真的无语了。kettle是java写的java版权是oracle的。mysql是Oracle的。   吐槽:一般来说,在kettle中新建mysql连接时......
  • SQL Server 2012 镜像数据库搭建
    SQLServer镜像“数据库镜像”是一种提高SQLServer数据库的可用性的解决方案。镜像基于每个数据库实现,并且只适用于使用​​完整恢复模式​​的数据库。类似于Oracle的D......
  • MongoDB 4.4 数据库参数详细说明(二) - 一般参数
    1.connPoolMaxShardedConnsPerHost**作用:**设置用于与分片通信的legacy连接池的最大大小。池的大小不会阻止创建其他连接,但是会阻止连接池保留超出此限制的连接。**默认:**2......
  • 数据库死锁
    --当前运行的所有事务SELECT*FROMinformation_schema.INNODB_TRX;--当前出现的锁SELECT*FROMinformation_schema.INNODB_LOCKs;--锁等待的对应关系SELECT......
  • Microsoft Remote Desktop for Mac(远程桌面连接工具)
    mac电脑如何远程控制win?推荐microsoftremotedesktopmac版,是一款运行在Mac平台上的微软远程桌面连接工具,配置连接时,Microsoft远程桌面允许您决定应使用的分辨率,颜色质量,全......
  • 导入数据到neo4j数据库
    首先去MySQL端通过SQL把数据导出.csv格式的文件。记得去掉.csv数据文件里数据上的引号。sed-i's/"//g'1.csv 然后把.csv数据文件放到import目录里:/dat......
  • MySQL数据库-数据表(下)
    SELECT定义:SQL的SELECT语句可以实现对表的选择、投影及连接操作。即SELECT语句可以从一个或多个表中根据用户的需要从数据库中选出匹配的行和列,结果通常是生成一个......
  • 数据库复制订阅问题解决脚本
    --查列表select*frommsdb.dbo.MSdistpublishersDELETEFROMmsdb.dbo.MSdistpublishersselect*frommsdb.dbo.MSdistpublishers--增加execsp_droplinkedsrvl......