jdbc从基础到优化
package com.xk.demotest.tools; import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; public class DaoDBConectTools {
/*
// 传统jdbc连接
private static final String driverName = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://localhost:3306/20170626javaweb01";
private static final String user = "root";
private static final String password = "root"; public DaoDBConectTools() {
Connection connect = null;
Statement state = null;
try {
Class.forName(driverName);
connect = DriverManager.getConnection(url, user, password);
state = connect.createStatement();
String sql = "";
state.executeQuery(sql);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
state.close();
connect.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
*/ private static final Properties pro = new Properties(); // ①创建properties对象
//加载配置文件和驱动
static {
InputStream iStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"); // ②引入配置文件
try {
pro.load(iStream); // ②引入配置文件
String driverName = pro.getProperty("driverName"); // ③加载驱动
Class.forName(driverName);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
} //获取连接对像并创建连接
public static Connection connection() {
String url = pro.getProperty("url");
String user = pro.getProperty("userName");
String password = pro.getProperty("password");
Connection connect = null;
try {
connect = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return connect;
} //关闭数据库连接
public static void close(Connection connect, Statement state) {
if (state != null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connect != null) {
try {
connect.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} }
package com.xk.demotest.tools; import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; public class DaoDBConectTools {
/*
// 传统jdbc连接
private static final String driverName = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://localhost:3306/20170626javaweb01";
private static final String user = "root";
private static final String password = "root"; public DaoDBConectTools() {
Connection connect = null;
Statement state = null;
try {
Class.forName(driverName);
connect = DriverManager.getConnection(url, user, password);
state = connect.createStatement();
String sql = "";
state.executeQuery(sql);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
state.close();
connect.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
*/ private static final Properties pro = new Properties(); // ①创建properties对象
//加载配置文件和驱动
static {
InputStream iStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"); // ②引入配置文件
try {
pro.load(iStream); // ②引入配置文件
String driverName = pro.getProperty("driverName"); // ③加载驱动
Class.forName(driverName);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
} //获取连接对像并创建连接
public static Connection connection() {
String url = pro.getProperty("url");
String user = pro.getProperty("userName");
String password = pro.getProperty("password");
Connection connect = null;
try {
connect = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return connect;
} //关闭数据库连接
public static void close(Connection connect, Statement state) {
if (state != null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connect != null) {
try {
connect.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} }
jdbc从基础到优化的更多相关文章
- JDBC性能分析与优化
JDBC性能分析与优化V1.0http://www.docin.com/p-758600080.html
- Java JDBC的基础知识(三)
在前面的Java JDBC的基础知识(二)和(三)中,主要介绍JDBC的原理和简单的应用过程.尤其在(二)中,可以发现代码进行多次try/catch,还有在前面创建连接等过程中好多参数我都给写定了. ...
- Java JDBC的基础知识(二)
在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
- Java JDBC的基础知识(一)
一.为什么引入JDBC 在学习JDBC之前,抛开它的概念,我先按照我的理解解释一下,为什么要引入JDBC.在我看来,引入JDBC跟我之前学过的引入JVM(Java虚拟机)有些相似之处.当然,关于JVM ...
- JDBC批量插入数据优化,使用addBatch和executeBatch
JDBC批量插入数据优化,使用addBatch和executeBatch SQL的批量插入的问题,如果来个for循环,执行上万次,肯定会很慢,那么,如何去优化呢? 解决方案:用 preparedSta ...
- 采用DTO和DAO对JDBC程序进行进一步优化
采用DTO和DAO对JDBC程序进行进一步优化 DTO:数据传输对象,主要用于远程调用等需要远程调用对象的地方DAO:数据访问对象,主要实现封装数据库的访问,通过它可以把数据库中的表转换成DTO类 引 ...
- 【ABAP系列】SAP ABAP基础-程序优化及响应速度之LOOP
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP基础-程序优化及 ...
- JDBC批量Insert深度优化(有事务)
环境: MySQL 5.1 RedHat Linux AS 5 JavaSE 1.5 DbConnectionBroker 微型数据库连接池 测试的方案: 执行10万次Insert语句,使用不同方 ...
- Java JDBC的基础知识(五)
本文主要记录JDBC基础知识之后的部分内容.另外,我看到<Java核心基础2>中第四章是主要介绍数据库编程的.里面有一些说明和应用特别灵活,有些部分也太容易理解,建议大家看一下.这篇是依然 ...
随机推荐
- Oracle 10g收集数据库统计信息
1.需求概述 2.实施步骤 3.回退方案 1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计 ...
- sublime----------快捷键的记录
1.鼠标选中多行,按下 Ctrl Shift L (Command Shift L) 即可同时编辑这些行: 2.鼠标选中自定义的多行,ctrl+鼠标左键
- linux----------linux的scp命令介绍
1.scp是有Security的文件copy,基于ssh登录. 命令基本格式: scp [OPTIONS] file_source file_target OPTIONS: -v 和大多数 linux ...
- HTML和CSS总结
语义化.我们学习网页制作时,常常会听到一个词,语义化.那么什么叫做语义化呢,说的通俗点就是:明白每个标签的用途(在什么情况下使用此标签合理)比如,网页上的文章的标题就可以用标题标签,网页上的各个栏目的 ...
- Sitecore系统教程即时查阅编辑内容
实时模式中的Sitecore 作为开发人员,我们经常需要在本地环境中使用代码和内容.在本地,能够立即看到任何内容更改,以节省时间和提高效率是有意义的.这是在实时模式下运行Sitecore.默认情况下, ...
- MySQL插入命令_INSERT INTO
MySQL允许将一个或多个元组插入已存在的table中. 格式:INSERT INTO 表名 (属性名1,属性名2,属性名3) VALUES (value1,value2,value3); ...
- iOS项目之NSLog相关
这算是在项目中最常用的命令了,方便程序员查看日志数据,便于程序调试.在开发中我们经常会进行一些设置,下面就来简单的说一说: 先来看看普通的NSLog: - (void)viewDidLoad { [s ...
- 绑定到外部验证服务LDAP、配置 autofs
题1:您的系统需要按照以下要求绑定到这个服务上:验证服务器的基本 DN 是: dc=xxxx,dc=xxxx,dc=xxxx. 帐户信息和验证信息都是由 LDAP 提供的.连 接 需 要 使 用 证 ...
- Splay详解
平衡树实际很简单的 以下讲解都以Luogu P3369 [模板]普通平衡树为例 我不会带指针的Splay,所以我就写非指针型的Splay Splay是基于二叉查找树(bst)实现的 什么是二叉查找树呢 ...
- 剑指offer(53)表示数值的字符串
题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.1 ...