MySql JDB c OjDCN с Gradle - PullRequest
       1

MySql JDB c OjDCN с Gradle

0 голосов
/ 03 февраля 2020

У меня есть чистый java проект, над которым я работаю, и он использует gradle. Я хочу подключиться к БД (My SQL).

Что я должен поместить в мой файл сборки Gradle? Кто-нибудь может посоветовать, пожалуйста, используя пошаговое решение? Я просто хочу сделать запрос к БД, с уважением

Это мой код:

import java.sql.*;

    public class DBSupport {


       private  String url = "jdbc:mysql://10.90.256.15639.3306/guro";
       private String user = "jlkjhmhj";
       private String password = "jhgjkggh";


       public void getUserFromDB() throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException {
           Class.forName("com.mysql.jdbc.Driver");
           Connection conn = DriverManager.getConnection(url, user, password);
           Statement stmt = conn.createStatement();
           ResultSet rowResult = stmt.executeQuery("select id from users where email = 'ssfsfe@gmail.com';`");
           String userId = rowResult.getString("id");
       }

это мое исключение

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

и это моя сборка gradle файл

plugins {
    id 'java'
}


group = 'com.kjh.f68453132on'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
    developmentOnly
    runtimeClasspath {
        extendsFrom developmentOnly
    }
}

repositories {
    maven {
        name "snapshot"
        url "http://artifactory.service.ia65452131.ta54331165a.pr623d:8081/artifactory/libs-snapshot"
    }

    maven {
        name "release"
        url "http://artifactory.service.ia8u46:8081/artifactory/libs-release"
    }

//    mavenLocal()
}

ext {
    set('swaggerVersion', "2.9.2")
}

dependencies {
        compile 'org.testng:testng:7.1.0'
        compile 'org.testng:testng:6.4.13'
        compile 'io.appium:java-client:7.1.0'
        compile 'org.apache.commons:commons-lang3:3.0'
    compile group: 'org.jasypt', name: 'jasypt', version: '1.9.2'
    compile group: 'de.qaware.jasypt', name: 'jasypt-hibernate5', version: '1.9.2'

    implementation 'io.lettuce:lettuce-core:5.1.7.RELEASE'
    implementation 'io.jsonwebtoken:jjwt:0.9.1'
    implementation 'ma.glasnost.orika:orika-core:1.5.4'
    implementation 'com.opencsv:opencsv:4.1'
    implementation 'com.googlecode.json-simple:json-simple:1.1.1'
    //runtimeOnly 'mysql:mysql-connector-java'

    // swagger
    compile("io.springfox:springfox-swagger-ui:$swaggerVersion")
    compile("io.springfox:springfox-swagger2:$swaggerVersion") {
        exclude module: 'swagger-annotations'
        exclude module: 'swagger-models'
    }
    compile("io.swagger:swagger-annotations:1.5.21")
    compile("io.swagger:swagger-models:1.5.21")
}

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

После проверки я просто пометил как комментарий все репозитории из локального и поставил

repositories {
//    maven {
//        name "snapshot"
//        url "http://artifactory.service.hgjklhk.jhlj.prod:klj/artifactory/libs-snapshot"
//    }
//
//    maven {
//        name "release"
//        url "http://artifactory.service.ljkl.klhkj.prod:8081/artifactory/libs-release"
//    }

//    mavenLocal()
    mavenCentral()
}
0 голосов
/ 03 февраля 2020
  @PostConstruct
public void init(){
    if (currentEnvironment != null && !"Local".equalsIgnoreCase(currentEnvironment)) {
        String secret = awsSecretsManagerService.getSecretValueForMySQL(defaultClientId);
        try {
            JSONObject connectionJson = new JSONObject(secret);
            dataSourceUserName = (String)connectionJson.get("username");
            dataSourcePassword = (String)connectionJson.get("password");
            dataSourceUrl = "jdbc:mysql://" + (String)connectionJson.get("host") + "/" + modulename;
        } catch (JSONException e) {
            logger.error("Could not load mysql configuration");
        }
    }
}
/**
 * Generate Datasource object from env variables
 * @return
 */
@Bean
@Primary
public DataSource dataSource() {
    logger.info("---------Loading Database configuration--------");
    org.apache.tomcat.jdbc.pool.DataSource dataSource =  (org.apache.tomcat.jdbc.pool.DataSource) DataSourceBuilder
            .create()
            .username(dataSourceUserName)
            .password(dataSourcePassword)
            .url(dataSourceUrl)
            .driverClassName(driverClassName)
            .build();
    dataSource.setTestOnBorrow(true);
    dataSource.setMaxActive(75);
    dataSource.setMaxIdle(25);
    dataSource.setMinIdle(10);
    dataSource.setInitialSize(10);
    dataSource.setJdbcInterceptors("org.apache.tomcat.jdbc.pool.interceptor.ResetAbandonedTimer");
    //            dataSource.setTimeBetweenEvictionRunsMillis(34000);
    //            dataSource.setMinEvictableIdleTimeMillis(40000);
    dataSource.setRemoveAbandoned(true);
    dataSource.setRemoveAbandonedTimeout(60);
    dataSource.setValidationInterval(34000);
    dataSource.setValidationQuery("SELECT 1");
    return dataSource;
}

внутри приложения. Свойства

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...