连接MySQL常用工具
database.properties
如下:url中coursesystem为将要连接的数据库名;username为该数据库设置权限时的用户名;如果设置了密码,再添一项password=你的密码
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/coursesystem
username=root
工具util层,创建properties文件的解析工具ConfigerManager.java
package util; import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/*
* 解析配置文件,大前提是:
* 1、 你要有个配置文件
* 2、你要解析它的工具
* 过程:1.创建配置文件的输出流
* 2.用工具去解析配置文件输出流
* 3.创建利用key值获取value值的方法
*/
public class ConfigerManager {
// 创建配置文件解析工具
private static Properties param=new Properties();
static {
String configFile="database.properties";
InputStream is = ConfigerManager.class.getClassLoader().getResourceAsStream(configFile);
try {
param.load(is);
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getValue(String key) {
return param.getProperty(key);
}
}
在dao层创建进行连接数据库以及其他基本操作的BaseDao.java
package dao; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import util.ConfigerManager;
/*
* 普适性的增删改操作,其他的增删改操作需要继承它
*/
public class BaseDao {
private static String driver=ConfigerManager.getValue("driver");
private String url=ConfigerManager.getValue("url");
private String username=ConfigerManager.getValue("username");
Connection conn = null;
PreparedStatement pds=null;
ResultSet rs=null;
int result=0;
static {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// 建立连接
public Connection getConnection() {
try {
conn=DriverManager.getConnection(url, username, null);
System.out.println("连接已建立!");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
// 断开连接
public void closeAll(ResultSet rs,PreparedStatement pds,Connection conn) {
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(pds!=null) {
try {
pds.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
// 增、删、改
public int updateData(String sql,Object[] params) {
conn = this.getConnection();
try {
pds=conn.prepareStatement(sql);
if(params!=null) {
for(int i=0;i<params.length;i++) {
pds.setObject(i+1, params[i]); //MySQL语句中下标从1开始
}
}
result=pds.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.closeAll(null, pds, conn);
}
return result;
}
// 查
public ResultSet queryData(String sql,Object[] params) {
conn=this.getConnection();
try {
pds=conn.prepareStatement(sql);
if(params!=null) {
for(int i=0;i<params.length;i++) {
pds.setObject(i+1, params[i]); //MySQL语句中下标从1开始
}
}
rs=pds.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
}
简单的使用Junit对以上代码进行测试
package test; import org.junit.Test; import dao.BaseDao; public class DatabaseTest { @Test
public void linkDatabase() {
BaseDao dao=new BaseDao();
dao.getConnection();
} }
连接MySQL常用工具的更多相关文章
- MySQL常用工具、日志及读写分离
MySQL常用工具.日志及读写分离 1.MySQL中常用工具 1.1 mysql 1.1.1连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 mys ...
- Mysql 常用工具
mysqladmin:用于管理MySQL服务器的客户端 mysqladmin是一个执行管理操作的客户程序.可以用它来检查服务器的配置和当 前的状态,创建并删除数据库等等. 这样调用mysqladmin ...
- MySQL 常用工具sysbench/fio/tpcc等测试
为什么要压力测试采购新设备,评估新设备性能开发新项目,评估数据库容量新系统上线前,预估/模拟数据库负载更换数据库版本,评估性能变化 关注指标 CPU %wait,%user,%sys 内存 只内存读 ...
- 【数据库开发】 C连接mysql——常用的函数
转载:http://blog.chinaunix.net/uid-26758020-id-3288633.html 1.MYSQL *mysql_init(MYSQL *mysql) 为mysq ...
- MySQL常用工具
- 设置更改root密码、连接mysql、mysql常用命令
6月19日任务 13.1 设置更改root密码13.2 连接mysql13.3 mysql常用命令 13.1 设置更改root密码 使用场景:例如长时间不用忘记了mysql的root密码,那么就需要去 ...
- Python--day61 PyCharm连接MySQL工具的使用
第一步:连接mysql数据工具的位置 第二步:选定数据库 第三步:下载驱动 第四步:连接数据库配置 第五步:在pycharm中查看数据库中的表 第六步:添加数据 第七步:打开用sql语句操作数据库的界 ...
- Python连接MySQL的准备工作
首先要安装MySQL,64位的win7可以安装64或者32位的MySQL版本,安装之后,python需要一个工具才能连接MySQL,这个工具叫MySQL-python,去这里或者这里下载1.2.3版本 ...
- 我的C语言连接Mysql之路
1.安装好mysql 2.要实现C连接数据库,需要安装数据库连接器(即MySQL Connector/C) MySQL Connector/C是一个C语言的client库,这个库是为了实 ...
随机推荐
- Java问题解决:"错误: 找不到或无法加载主类"
参考资料:https://www.cnblogs.com/wangxiaoha/p/6293340.html 场景: 使用java命令运行.class文件时出现:“错误: 找不到或无法加载主类”: 解 ...
- ArcGIS JS API4 With VueJS集成开发
1.USING VUEJS WITH ARCGIS API FOR JAVASCRIPT,集成VUE到ArcGIS JS开发中. 2.ARCGIS API 4 FOR JS WITH VUE-CLI ...
- layui
给大家推荐个比较好用的前端ui框架layui,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用,而且layui除了ie6/7不兼容其他都兼容,而且还是响应式布局 1,获得layui后 ...
- MIUI8系统完整刷入开发版开启root权限的经验
小米的机器不同手机型号一般情况官网都提供两个不同的安卓系统版本,可分为稳定版和开发版,稳定版没有提供root超级权限管理,开发版中就支持了root超级权限,很多情况我们需要使用的一些功能强大的APP, ...
- es6中promise ALL Race Resolve Reject finish的实现
function mypromise(func){ this.statue = "pending"; this.data = null; this.resolveCallback ...
- spring boot2 kafka
一.软件版本 1.linux:centos6 2.zookeeper:zookeeper-3.4.1 3.kafka:kafka_2.12-2.2.0 4.jdk:1.8 5.instelliJ Id ...
- 思科模拟器PacketTracer7-----2台PC通过交叉线互连
实验二—3 实验工具:思科模拟器PacketTracer7(可在思科官网下载,免费) 实验设备: PC两台,交叉线 实验步骤: 一.配置网络拓扑图 二.配置PC0和PC1的IP地址,掩码和网关 四.通 ...
- Spring框架中的定时器 使用和配置
Spring框架中的定时器 如何使用和配置 转载自:<Spring框架中的定时器 如何使用和配置>https://www.cnblogs.com/longqingyang/p/554543 ...
- C++标准模板库(STL)之Set
1.Set的用法 Set:集合,一个内部自动有序而且不重复元素的容器.使用set,要加头文件#include<set>和using namespace std; 1.1.Set的定义 se ...
- hive的排序,分組练习
hive的排序,分組练习 数据: 添加表和插入数据(数据在Linux本地中) create table if not exists tab1( IP string, SOURCE string, TY ...