GreatSQL社区

搜索

[已解决] java使用DBC连接数据无法连接上

472 4 2023-7-23 22:40
本帖最后由 Aiming 于 2023-7-23 23:24 编辑
  1. package testMysql;
  2. import com.alibaba.druid.pool.DruidDataSourceFactory;
  3. import org.apache.logging.log4j.LogManager;
  4. import org.apache.logging.log4j.Logger;
  5. import org.springframework.jdbc.core.JdbcTemplate;
  6. import javax.sql.DataSource;
  7. import java.io.InputStream;
  8. import java.sql.Connection;
  9. import java.sql.SQLException;
  10. import java.util.List;
  11. import java.util.Map;
  12. import java.util.Properties;


  13. /**
  14. * JDBC工具类 使用Druid连接池
  15. */
  16. public class JDBCUtils {

  17.     private static DataSource connection;
  18.     public static Logger log= LogManager.getLogger(JDBCUtils.class);

  19.     static {
  20.         try {
  21.             //1.加载配置文件
  22.             Properties pro = new Properties();
  23.             //使用ClassLoader加载配置文件,获取字节输入流
  24.             InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid224.properties");
  25.             pro.load(is);
  26.             //2.初始化连接池对象
  27.             connection = DruidDataSourceFactory.createDataSource(pro);
  28.         } catch (Exception e) {
  29.             e.printStackTrace();
  30.         }
  31.     }

  32.     /**
  33.      * 获取连接池对象
  34.      */
  35.     public static DataSource getDataSource(){
  36.         return connection;
  37.     }


  38.     /**
  39.      * 获取连接Connection对象
  40.      */
  41.     public static Connection getConnection() throws SQLException {
  42.         return  connection.getConnection();
  43.     }


  44.     public static void main(String[] args) throws SQLException {
  45.         String sql="select a.task_role,a.task_name,a.actual_status,task_id,a.* from  abs_task.abs_task a where a.poord_package_num ='000A181130000020' ORDER BY create_Time desc;";
  46.         List<Map<String, Object>> sqlList;
  47.         //声明JDBCTemplate对象共用
  48.         JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
  49.         sqlList=template.queryForList(sql);
  50.         log.info(sqlList);
  51.         for (int i=0;i<sqlList.size();i++){
  52.             Map<String, Object> sqlMap=sqlList.get(i);
  53.             //log.info("结果:"+sqlMap.getClass());
  54.             for (String key:sqlMap.keySet()) {
  55.                 if (key.contains("task_id")) {
  56.                     System.out.println(key + ":" + sqlMap.get(key));
  57.                 }
  58.             }
  59.         }
  60.         getConnection();
  61.     }
  62. }

复制代码


greatdb.png
全部回复(4)
yejr 2023-7-24 08:48:26
看起来是网络没连通的问题,检查IP地址和端口是否正确
Aiming 2023-7-24 13:19:41
yejr 发表于 2023-7-24 08:48
看起来是网络没连通的问题,检查IP地址和端口是否正确

我本地nacvicat连接也是用同样ip和端口和用户名登录是可以的,不知道这个是不是jdbc版本不知,还是您说的网络没有连接通的
yejr 2023-7-24 19:33:22
Aiming 发表于 2023-7-24 13:19
我本地nacvicat连接也是用同样ip和端口和用户名登录是可以的,不知道这个是不是jdbc版本不知,还是您说的 ...

那先看下server端的报错信息是什么
ShawnYan 2023-7-26 08:29:46
用的什么版本的conn/j, 连的db是哪个版本?druid224配置文件信息都对?
Aiming

1

主题

0

博客

3

贡献

新手上路

Rank: 1

积分
5

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-5-19 10:18 , Processed in 0.017968 second(s), 17 queries , Redis On.
快速回复 返回顶部 返回列表