JDBC配置教程+总结(sql server/mysql/maven)

2023-05-16

Eclipse配置

一、JDBC配置

百度搜索sql server jdbc下载进入微软下载官网:https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017

根据版本选择对应的驱动下载,我这里下载的是6.4版本

语言选择简体中文,然后点击下载

选择gz后缀的压缩包,下载完成后解压缩

可以看见有三个java图标样式的jar文件,分别是jre7,jre8,jre9,打开 eclipse,点击windows--preferences--java--compiler,汉化版就是窗口--首选项--java--已安装的jre,或者直接搜索jdk可以看见eclipse使用的jdk版本。如下图:

根据jdk版本选择对应的jdbc版本,1.8的jdk选择jre8;1.7的jdk选择jre7;然后将对应的jre文件复制粘贴到你的动态网页项目下的web-content下的lib文件夹里面,如下图:

二、SQL SERVER配置

启动sql server,用sql server身份验证登录,默认用户名sa,密码123

如果出现密码错误或者登不上之类的情况,先用windows身份验证登录,然后按下图展开,点击sa进入配置界面;

然后设置sa的密码

设置完成后用sql server登录数据库,能成功登录后将服务器名称改为127.0.0.1,然后继续用sql server登录

如果登录成功就已经配置完成了,如果登录半天没响应或者说是报错了,就说明远程连接没有配置好。

打开SQL Server配置管理器

将SQLSERVER协议的三个协议启动

双击打开TCP/IP协议,将所有的TCP端口改为1433,包括IPALL的TCP端口,然后保证ip地址127.0.0.1唯一,有重复的ip地址项将它改掉或者清空,保存之后重启SQLSERVER服务。

右键点击服务器,选择属性,将下图所示的红框勾选。

保存后,继续右键点击服务器,选择方面,下拉框选择服务器配置,找到下图红框所示信息,将false改为true。

至此就配置好了,然后用ip地址登录就成功了。

三、连接数据库

在项目中新建一个jsp文件,mysql写入以下代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import = "java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	try {
		// 加载数据库驱动,注册到驱动管理器
		Class.forName("com.mysql.jdbc.Driver");
		// 数据库连接字符串
		String url = "jdbc:mysql://localhost:3306/mysql";
		// 数据库用户名
		String username = "root";
		// 数据库密码
		String password = "123456";
		// 创建Connection连接
		Connection conn = DriverManager.getConnection(url,username,password);
		// 判断 数据库连接是否为空
		if(conn != null){
			// 输出连接信息
			out.println("数据库连接成功!");
			// 关闭数据库连接
			conn.close();
		}else{
			// 输出连接信息
			out.println("数据库连接失败!");
		}
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		e.printStackTrace();
	}
%>

</body>
</html>

sql server写入以下代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import = "java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	try {
		// 加载数据库驱动,注册到驱动管理器
		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		String url = "jdbc:sqlserver://localhost:1433;DatabaseName=sql;
			String username = "sa";
			String password = "123456";
		// 创建Connection连接
		Connection conn = DriverManager.getConnection(url,username,password);
		// 判断 数据库连接是否为空
		if(conn != null){
			// 输出连接信息
			out.println("数据库连接成功!");
			// 关闭数据库连接
			conn.close();
		}else{
			// 输出连接信息
			out.println("数据库连接失败!");
		}
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		e.printStackTrace();
	}
%>

</body>
</html>

其中

String url = "jdbc:mysql://localhost:3306/mysql";
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=sql;

这两句后面的mysql和sql分别是你在MySQL和SQLServer里创建的数据库名称,username和password就是你登录名和密码,修改完成后运行会显示一个网页上面信息显示数据库连接成功,至此就配置好了,后面就可以通过java对数据库进行任意的操作了。

 

IDEA采用Maven配置部署

版本对应关系:IDEA2020.2,Maven3.6.3

首先去https://maven.apache.org/download.cgi下载3.6.3的Maven

下载好之后,解压到本地,为了方便我将名字改成了Maven,同时创建一个repository文件夹,作为本地仓库,用来存放下载的jar包位置。

打开conf下的settings.xml配置文件,添加本地仓库路径,和解压的Maven路径要一致。

<localRepository>E:\Maven.3\repository</localRepository>

采用国外镜像下载jar包速度过于缓慢,更改镜像地址为国内仓库,可以提高下载速度。将mirrors标签进行替换,然后进行保存。

  <mirrors>
 	<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
	
	<mirror>
      <id>repo2</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo2.maven.org/maven2/</url>
    </mirror>

    <mirror>
      <id>ui</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://uk.maven.org/maven2/</url>
    </mirror>

  </mirrors>

配置环境变量,创建MAVEN_HOME,并将maven路径填入

在Path中添加变量: 

%MAVEN_HOME%\bin

 

验证Maven安装是否成功,打开cmd,输入mvn -v,显示下图信息配置完成。

在IDEA设置中搜索Maven,进行下图配置。第一个红框为Maven的路径,第二个为settings.xml的路径,第三个为本地仓库的路径,勾选Override并进行替换。 

 找到Maven下的Runner,勾选两个框,并在VM Option中填入:

-DarchetypeCatalog=internal

 新建一个Maven项目,勾选Create from archetype,选择quickstart,首次创建需要联网,出现下列情况安装完成。

 

 

运行App类,显示下列信息就配置成功了

配置mysql JDBC 

在pom文件里添加依赖

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.39</version>
    </dependency>

我用到了连接池

    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.2</version>
    </dependency>

 

package com.example;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTestDemo {
    public static void  main(String[] args){
        String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC";
        String user = "root";
        String password="123456";
        Connection conn=null;

        //设置数据源DataSource
        ComboPooledDataSource dataSource = new ComboPooledDataSource("mysql");

        try {
            //获取Connection
            Connection connection = dataSource.getConnection();

            //获取Statement对象
            Statement statement = connection.createStatement();

            String sql = "select * from student";
            ResultSet resultSet = statement.executeQuery(sql);

            while (resultSet.next()) {
                String name = resultSet.getString("Sname");
                String sex = resultSet.getString("ssex");
                System.out.println("Sname:" + name+",ssex:"+sex);
            }


        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

 测试结果:

 

IDEA启动加速

随着项目的增大,IDEA的启动速度会越来越慢,经常会出现打开IDEA,一个项目加载时间很长的情况。为了减少等待时间,可以进行IDEA的优化

解决:打开IDEA的安装位置目录,64位电脑找到idea64.exe.vmoptions这个文件进行修改,如果电脑是32位的就修改idea.exe.vmoptions这个文件。

-Xms1024m
-Xms2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Dfile.encoding=UTF-8
-Duser.country=EN
-Duser.language=us

其中第1行-Xms表示idea初始内存大小,该值变大有利于提升程序启动速度与项目打开速度。

其中第2行-Xmx表示idea最大分配内存大小,该值变大有利于提升程序运行性能。

其中第3行-Xms表示保留代码占用内存大小。

可以根据自己电脑的性能给分配合适的内存大小,上面的配置对应我的电脑内存为12G,因此可以多分配一些。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JDBC配置教程+总结(sql server/mysql/maven) 的相关文章

  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • 如何在 DB2 中创建返回序列值的函数?

    如何在 DB2 中创建一个从序列中获取值并返回该值的函数 应该可以在 select 或 insert 语句中使用该函数 例如 select my func from xxx insert into xxx values my func 基本
  • 数字表与递归 CTE 生成一系列数字

    为什么使用数字表比使用递归 CTE 动态生成它们要快得多 在我的机器上 给定一张桌子numbers单列n 主键 包含从1到100000的数字 查询如下 select n from numbers 大约需要 400 毫秒才能完成 使用递归 C
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • 如何使用 BigQuery 有效地选择另一个表中匹配子字符串的记录?

    我有一个包含数百万个字符串的表 我想将其与包含大约两万个字符串的表进行匹配 如下所示 standardSQL SELECT record FROM record JOIN fragment ON record name LIKE CONCA
  • Mysql插入表后不显示右单引号(’)

    我有一个名为 测试 的表 我插入了一行 其中包含unicode字符右单引号 0x2019在名称字段中 SQL insert into Testing values Sno Name Address insert into Testing v
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • 非 Spring 托管类中 DI 的编译时编织

    我想为标记为的类配置编译时编织 Configurable注释能够将 spring 依赖项注入到初始化的类中new操作员 我不想使用加载时编织 因为我无权访问应用程序服务器的运行脚本 因此无法修改它 另外 我希望能够在测试中使用此类 我的意思
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 如何抑制/控制 Wagon-FTP Maven 扩展的日志记录?

    我正在通过 FTP 部署 Maven 站点 使用货车 FTP http maven apache org wagon wagon providers wagon ftp 工作正常 但输出充满了 FTP 连接 身份验证详细信息 这有效地向每个
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作

随机推荐