MySql jdbc ojdcn with gradle



我有一个纯Java项目,它正在使用gradle。 我想连接到数据库(我的 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")
}
@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;
}

内部应用程序属性

检查后,我只是将本地的所有存储库标记为注释并放置

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()
}

最新更新