好久不见,随着Java课程的推进小编其实也在不断的学习之中,同时也遇到很多问题,下面就由小编为大伙们详细的说一下Java中使用mysql驱动连接mysql数据库以及mysql的安装以及使用数据库连接池进行链接MYSQL数据库
一:mysql的安装
准备的东西
1 .mysql解压模式的安装包(我这是8.0的)
2. mysql-connector-java.jar-5.17(mysql的版本要跟驱动包的版本要对应上不然有时候会出现不兼容 而无法链接的现象)
3. druid1.1.10版本
将mysql解压包解压到相应的路径下,并且在安装的路径下创建my.ini 配置文件,写入如下:
分别表示安装位置(读者可以自己设置位置,小编这里的位置是自己电脑的位置)
数据存放的位置(读者可以自己设置位置,小编这里的位置是自己电脑的位置)
最大的blob变量限制(存储二进制数据流的时候用到的,比如视频 图片等)
[mysqld]
#set basedir to your installation path
basedir = E:\Program Files (x86)\mysqlinstall
# set datadir to the location of your date directory
datadir = E:\Program Files (x86)\mysqldata
#max_blob
max_allowed_packet=16M
将管理员权限直接设置到注册表中:
在桌面建立 cmdCreate.reg文件,并且在文件中输入下面这些信息(注意编码格式选择ASNI)
保存后双击
Windows Registry Editor Version 5.00
; Created by: Shawn Brink
; http://www.sevenforums.com
; Tutorial: http://www.sevenforums.com/tutorials/47415-open-command-window-here-administrator.html
[-HKEY_CLASSES_ROOT\Directory\shell\runas]
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="命令行(管理员)"
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""
[-HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
@="命令行(管理员)"
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""
[-HKEY_CLASSES_ROOT\Drive\shell\runas]
[HKEY_CLASSES_ROOT\Drive\shell\runas]
@="命令行(管理员)"
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\Drive\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""
找到mysql安装包解压的文件夹进入bin夹下
使用管理员权限打开
输入命令:mysqld --initialize 初始化配置文件
安装mysql服务,mysql8.0为服务名: 输入命令 mysqld --install mysql8.0
查看刚刚的配置datadir文件(发现里面有文件即代表安装成功,并且查找.err结尾的文件查看初始账号和初始密码):
初始账号和初始密码:
配置环境变量:将您解压的mysql下的bin目录添加到系统环境变量中去:
启动服务:打开一个cmd窗口(使用管理员权限),输入启动 mysql8.0即刚刚设置的服务的名称:
net start mysql8.0
连接本地mysql服务,小编这里已经修改过自己的密码了,没有修改过的先使用默认的账号和密码进行链接:mysql -uroot -p
查看服务中的数据库(小编自己之前有一些数据库):show databases;
到这里mysql服务就安装完成了,可以通过此相对mysql进行密码的修改的可以使用命令
set password for用户名@localhost=password(‘新密码’);
ps:另外有同学想使用客户端数据库可视化软件的可以自行下载推荐 使用 navicat-premium
二、使用数据库驱动连接数据库
打开 idea编译器:
进行自行连接的创建,我这里给出了四种创建连接的方式:
public class connectTest {
//方式一
@Test
public void test1(){
Driver driver = null;
try {
driver = new com.mysql.jdbc.Driver();
String url = "jdbc:mysql://localhost/test?characterEncoding=utf8";
Properties info = new Properties();
info.setProperty("user","root");
info.setProperty("password","root");
Connection connect = driver.connect(url, info);
System.out.println(connect);
} catch (Exception e) {
e.printStackTrace();
}
}
//方式二:直接加载驱动,使用反射
@Test
public void test3(){
String user = "root";
String password = "root";
String url = "jdbc:mysql://localhost/test?characterEncoding=utf8";
String driverName = "com.mysql.jdbc.Driver";
try {
Class clazz = Class.forName(driverName); //类的实例化的时候会加载静态代码块
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
//最终的链接方式:使用配置文件,这种连接方式需要创建jdbc.properties配置文件:文件内容如下:
// user=root
// password=root
// url=jdbc:mysql://localhost/test?characterEncoding=utf8&rewriteBatchedStatements=true
// driverName=com.mysql.jdbc.Driver
@Test
public void test4(){
InputStream inputStream = connectTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties info = new Properties();
try {
info.load(inputStream);
String url = info.getProperty("url");
String user = info.getProperty("user");
String password = info.getProperty("password");
String driverName = info.getProperty("driverName");
//注册驱动
Class.forName(driverName);
//获取连接
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection);
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
启动单元测试方法(每次测试都显示连接地址的话表示连接创建成功):
三、使用数据库连接池进行链接
这事后就需要用到刚刚加入到moudle下的druid的包了,这个是阿里巴巴开发的一个结合了dbcp,c3p0等创建数据库连接的jar包的优先而开发的一款创建数据库连接池的工具,在实际开发中也是用的比较多的。
在src包入口文件处创建druid.properties的配置文件。
新建单元测试方法进行测试:
@Test
public void test1() throws Exception {
Properties properties = new Properties();
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
properties.load(is);
DataSource source = DruidDataSourceFactory.createDataSource(properties);
Connection conn = source.getConnection();
System.out.println(conn);
}
控制台出现如下信息即代表连接成功:
ps:本博客设计的内容有 反射+注解 还有一些jar包工具的使用,同时讲解了多种连接方式,和使用工具包进行链接