环境InterlliJ2016.3  MySQL5.7.12

pom依赖:

<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.7.2</version>
</dependency>

配置文件db.properties

db_url = 192.168.199.132
db_port = 3306
db_name = mind
db_max_conn = 100
db_username = root
db_password = root

DBService.Java:

package com.mind.core.db.impl;

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties; /**
* 数据库服务
* Created by Lovell on 16/6/18.
*/
public class DBService {
private static Logger logger = LoggerFactory.getLogger(DBService.class); private static final String DB_CONFIG_FILE = "/db.properties"; // 数据库连接数
private short db_max_conn = 0; // 数据库服务器addr
private String db_url = null; // 数据库连接端口
private short db_port = 0; // 数据库名称
private String db_name = null; // 数据库登录用户名
private String db_username = null; // 数据库登录密码
private String db_password = null; // 数据库连接
private Connection connection; private static DBService dBService;
public static DBService getInstance(){
if (dBService == null) {
dBService = new DBService();
}
return dBService;
} public void start() throws IOException, SQLException {
Properties properties = new Properties();
InputStream in = DBService.class.getClass().getResourceAsStream(DB_CONFIG_FILE);
properties.load(in); db_max_conn = Short.valueOf(properties.getProperty("db_max_conn"));
db_url = String.valueOf(properties.getProperty("db_url"));
db_port = Short.valueOf(properties.getProperty("db_port"));
db_name = String.valueOf(properties.getProperty("db_name"));
db_username = String.valueOf(properties.getProperty("db_username"));
db_password = String.valueOf(properties.getProperty("db_password")); if (db_url == null || db_url.length() == 0) {
logger.error("配置的数据库ip地址错误!");
System.exit(0);
} HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(db_max_conn);
config.setDataSourceClassName("com.mysql.jdbc.jdbc2.optional.MysqlDataSource");
config.addDataSourceProperty("serverName", db_url);
config.addDataSourceProperty("port", db_port);
config.addDataSourceProperty("databaseName", db_name);
config.addDataSourceProperty("user", db_username);
config.addDataSourceProperty("password", db_password);
HikariDataSource dataSource = new HikariDataSource(config); // // 也可以这样写
// config.setDriverClassName("com.mysql.jdbc.Driver");
// config.setJdbcUrl("jdbc:mysql://"+ db_url +"/" + db_name + "?useUnicode=true&characterEncoding=utf8&useSSL=false");
// config.setUsername(db_username);
// config.setPassword(db_password);
// config.addDataSourceProperty("cachePrepStmts", "true");
// config.addDataSourceProperty("prepStmtCacheSize", "250");
// config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
// // 设置连接超时为8小时
// config.setConnectionTimeout(8 * 60 * 60);
// HikariDataSource dataSource = new HikariDataSource(config);
} public Connection getConnection() throws SQLException {
try {
return dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
dataSource.resumePool();
return null;
} } public boolean stop() throws SQLException {
dataSource.close();
return true;
}
}

DBServiceTest.java

package com.mind.core.db.impl;

import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* Created by Lovell on 16/6/25.
*/
public class DBServiceTest {
public static void main(String[] args) throws IOException, SQLException {
DBSservice.getInstance().start(); // statement用来执行SQL语句
Statement statement = DBService.getInstance().getConnection().createStatement(); // 要执行的SQL语句id和content是表review中的项。
String sql = "select * from login where name='Lovell' and password='123456'"; // 得到结果
ResultSet rs = statement.executeQuery(sql); if(rs.next()){
System.out.println("Logon"); }else{
System.out.println("Login Faild");
}
rs.close();
}
}
 

---------------------

参考资料:https://blog.csdn.net/langzi7758521/article/details/51766754

最新文章

  1. &lt;base&gt;元素
  2. bash 中的变量
  3. 欧几里得&amp;扩展欧几里得
  4. Redis设计与实现-附加功能
  5. andorid开发eclipse常见问题
  6. 关于Java中File的renameTo函数
  7. 软件工程 speedsnail 第二次冲刺7
  8. 项目文件包含 ToolsVersion=&quot;12.0&quot; 设置,而此版本的 MSBuild 不支持该工具版本
  9. Oracle 空间管理
  10. div 固定宽高 水平垂直居中方法
  11. 高可用之KeepAlived(一):基本概念和配置文件分析
  12. Java面试2018常考题目汇总
  13. u3d摇杆
  14. 如何在Lua与C/C++之间实现table数据的交换
  15. shell脚本--逻辑判断与字符串比较
  16. Images之Dockerfiles
  17. linux安全配置学习
  18. 英文词频统计的java实现方法
  19. EmWebAdmin 生成流程分析
  20. fluentd安装和配置,收集docker日志

热门文章

  1. 从原生Android 跳转到hbuilder项目
  2. WIN10设置notepad++默认打开txt文件
  3. SQL Server 中关于系统库Tempdb总结
  4. Access to XMLHttpRequest at &#39;http://127.0.0.1:8000/XXXXX&#39; from origin &#39;http://localhost
  5. Data-Structure-Notes
  6. collections模块之defaultdict()与namedtuple()方法简单介绍
  7. 快速排序(Quick Sort)C语言
  8. CLRS10.1-6练习 - 用双栈实现队列
  9. docker-compose up 启动容器服务超时错误:ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
  10. 学习docker 部署nginx记录