• 简单JDBC数据库配置(Eclipse)


    1.确保mysql已安装完且可连接,我个人用的是Homebrew下的8.0.18

    2.加入连接mysql的依赖包

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.16</version>
    </dependency>

    同样是mvnrepository里下的第一个/J

    3.配置登陆需要的服务器地址以及用户名密码

    String driverClass = "com.mysql.cj.jdbc.Driver";
    String databaseName = "flight";
    String serverIP = "localhost";
    String usernameString = "root";
    String password = "Shirase-1423l";
    String jdbcUrl = "jdbc:mysql://" + serverIP + ":3306/" + databaseName
                + "?serverTimezone=Asia/Shanghai&useSSL=true";

    这里serverTimezone和useSSL的参数设成别的还没有试结果

    4.驱动+登陆

    //加载Driver类
    
    Class.forName("driverClass");
    
    //登陆mysql
    
    Connection connect = DriverManager.getConnection(jdbcUrl, usernameString, password);

    根据菜鸟教程给出的DBUtil类,简单分析一下里面的一些我觉得关键的点:

    public class DBUtil {
        public static final String driverClass = "com.mysql.cj.jdbc.Driver";
        public static final String databaseName = "flight";
        public static final String serverIp = "localhost";
        public static final String usernameString = "root";
        public static final String password = "Shirase-1423l";
        public static final String jdbcUrl = "jdbc:mysql://" + serverIp + ":3306/" + databaseName
                + "?serverTimezone=Asia/Shanghai&useSSL=true";
        private static Connection connect = null;
        static {
            try {
                Class.forName(driverClass);
                connect = DriverManager.getConnection(jdbcUrl);
            } catch (SQLException | ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }            
        }
        public static Connection getConnection() {
            return connect;
        }
    }

    关键点:

    1.Connection私有变量记录连接情况

    2.static代码块中放置初始化以及连接功能代码,由于static代码块在类加载时运行且只运行一次。这样处理简单项目很优雅同时节省显式调用的语句。

    3.在之后的每一次增删改查时,我们都要先获取connect,获取到连接信息,再进行数据操作,增删改查之类的。

  • 相关阅读:
    layui穿梭框内容溢出解决办法
    location之alias浅析
    Semaphore和SemaphoreSlim实现并发同步
    Barrier实现并发同步
    CountdownEvent实现并发同步
    AutoResetEvent实现并发同步
    TrieTree树
    EncryptByPassPhrase与DecryptByPassPhrase的浅说
    一个mp4转gif的网站
    vue轮播图(可随父元素高宽自适应)
  • 原文地址:https://www.cnblogs.com/exigeslover/p/12003223.html
Copyright © 2020-2023  润新知