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常用工具的更多相关文章

  1. MySQL常用工具、日志及读写分离

    MySQL常用工具.日志及读写分离 1.MySQL中常用工具 1.1 mysql 1.1.1连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 mys ...

  2. Mysql 常用工具

    mysqladmin:用于管理MySQL服务器的客户端 mysqladmin是一个执行管理操作的客户程序.可以用它来检查服务器的配置和当 前的状态,创建并删除数据库等等. 这样调用mysqladmin ...

  3. MySQL 常用工具sysbench/fio/tpcc等测试

    为什么要压力测试采购新设备,评估新设备性能开发新项目,评估数据库容量新系统上线前,预估/模拟数据库负载更换数据库版本,评估性能变化 关注指标  CPU %wait,%user,%sys 内存 只内存读 ...

  4. 【数据库开发】 C连接mysql——常用的函数

    转载:http://blog.chinaunix.net/uid-26758020-id-3288633.html 1.MYSQL *mysql_init(MYSQL *mysql)    为mysq ...

  5. MySQL常用工具

  6. 设置更改root密码、连接mysql、mysql常用命令

    6月19日任务 13.1 设置更改root密码13.2 连接mysql13.3 mysql常用命令 13.1 设置更改root密码 使用场景:例如长时间不用忘记了mysql的root密码,那么就需要去 ...

  7. Python--day61 PyCharm连接MySQL工具的使用

    第一步:连接mysql数据工具的位置 第二步:选定数据库 第三步:下载驱动 第四步:连接数据库配置 第五步:在pycharm中查看数据库中的表 第六步:添加数据 第七步:打开用sql语句操作数据库的界 ...

  8. Python连接MySQL的准备工作

    首先要安装MySQL,64位的win7可以安装64或者32位的MySQL版本,安装之后,python需要一个工具才能连接MySQL,这个工具叫MySQL-python,去这里或者这里下载1.2.3版本 ...

  9. 我的C语言连接Mysql之路

    1.安装好mysql     2.要实现C连接数据库,需要安装数据库连接器(即MySQL Connector/C)    MySQL Connector/C是一个C语言的client库,这个库是为了实 ...

随机推荐

  1. .net 去除特殊字符

    str = Regex.Replace(str, @"<script[^>]*?>.*?</script>", "", Regex ...

  2. Android 简单记事本

    写在前面 课程作业需要,于是忙活好几天抄了一个简单的记事本,使用已学内容包括Android UI布局,Activity的跳转,SQLite数据库. 开发环境:Android Studio 参考:htt ...

  3. 解决macOS因为它来自身份不明的开发者,不显示允许任何来源 –安装文件下载损坏问题

    打开时提示"已损坏,打不开.您应该将它移到废纸篓"或身份验证,因为它来自身份不明的开发者,和不显示允许任何来源,图片解锁和应用程序问题(如图片/application应用程序损坏, ...

  4. js斐波那契数列

    斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89...... 这个数列从第3项开始,每一项都等于前两项之和. 1.递归算法: function ...

  5. JAVA-重载(overload)和重写(overrite)

    1.重载发生在同一个类中.有多个方法名相同,但是参数列表不同(包括参数个数和参数类型),和返回值无关,权限修饰符也无关. 2.重写(即覆盖)发生在子类和父类中.子类和父类的方法名.参数列表相同:子类的 ...

  6. diango admin 添加成员报错

    [报错内容]: IntegrityError at /admin/users/userprofile/add/ (1452, 'Cannot add or update a child row: a ...

  7. CentOS 7 配置nginx并默认强制使用https对http进行跳转

    1.安装nginx yum install nginx 2.启动nginx服务 service nginx start 3.开启防火墙80端口,云服务器和本地虚拟服务器各有不同,不再赘述. 4.访问你 ...

  8. IIS环境配置和项目部署

    本人实际工作项目中IIS部署,亲测可用~~ 具体步骤: 1.打开控制面板 2.打开程序和功能 3.打开或关闭Windous功能 然后勾选相关内容: 4.添加应用程序 先打开iis管理器页面(控制面板— ...

  9. laravel清缓存,flex简单使用

    关于laravel 删除视图缓存:php artisan view:clear 清除运行缓存:php artisan cache:clear 清除配置缓存:php artisan config:cle ...

  10. 版本控制commit和update过程

    很早就使用了git.后来还管了一个VSS,但长时间以来git和VSS基本都当ftp使用,顶多知道其有回退旧版本的功能,但对“版本控制”这个词一直以来都没领会其内含. 比如我一直担心两个问题,一是拉取下 ...