当前位置: 首页 > wzjs >正文

单页网站制作网络营销八大工具

单页网站制作,网络营销八大工具,seo技术顾问阿亮,唐山网站建设七彩科技目录 一. 将MySQL对应版本的jar包放入Java项目中 1. 准备工作 2. 复制到Java项目 二. 获取数据库连接 1. 连接Mysql数据库的URL 2. 连接数据库的用户名 3. 连接数据库的密码 4. 通过反射实例化 三. Properties文件用法 1. properties文件介绍 2. Properties工具类 a.…

目录

一. 将MySQL对应版本的jar包放入Java项目中

 1. 准备工作

2. 复制到Java项目

二. 获取数据库连接

1. 连接Mysql数据库的URL

2. 连接数据库的用户名

3. 连接数据库的密码

 4. 通过反射实例化

三. Properties文件用法

1. properties文件介绍

2. Properties工具类

a. load( InputStream is )

b. getProperty( String key )

3. 新建Properties文件

4. 解决文件中文问题

5. properties文件写法

四. 使用properties文件优化连接

1. 基本操作

a. 实例化Properties对象

b. 获取读取properties文件的输入流对象

c. 通过给定的输入流对象读取properties文件并解析

d. 获取properties文件中的内容

2. 优化获取数据库连接

a. properties文件内容

b. 获取连接

五. 封装JDBC工具类


前言

本文来讲解,如何获取Java与MySQL的连接以及如何优化数据库的连接并且JDBC的工具类

文章详解,通俗易懂,旨在帮助读者更好的理解和掌握JDBC数据库连接

个人主页:主页

一. 将MySQL对应版本的jar包放入Java项目中

 1. 准备工作

jar:数据库驱动
如果要和数据库通信,就要借助数据库驱动。数据库驱动本质上是一组 Java 类
先在官网下载对应的MySQL的jar包
这里用MySQL5.7版本来演示

可以先通过cmd里,输入mysql --help 来找到自己的MySQL版本

看这个表格,找到自己jdk版本对应的jar,再到官网里下载
 jar包官网传送门:官网

MySQL 版本推荐的 MySQL Connector/J 版本
5.15.1.x
5.55.1.x、5.2.x
5.65.1.x、5.2.x、5.6.x
5.75.1.x、5.2.x、5.6.x、5.7.x
8.05.1.x、5.2.x、5.6.x、5.7.x、8.0.x

5.7版本的,我是下载的5.1.48版本jar包

2. 复制到Java项目

复制对应的jar包

新建一个java项目
新建一个lib目录


单击lib,复制到lib目录


确定后,这个jar包只是放在目录里
现在就要开始将这个变成一个库
右击jar包 ---> 添加到库
这样就可以获取里面的类了

二. 获取数据库连接

1. 连接Mysql数据库的URL

URL格式:jdbc:mysql://[主机名]:[端口号]/[数据库名]?[参数名]=[参数值]
注:每个数据库的写法不一样,这里以MySQL为例

// 连接Mysql数据库的URL
// localhost 代表本机
// 如果没有修改端口号的话,MySQL默认是3360
// YiBeiGen 是数据库名字
String url = "jdbc:mysql//localhosost:3360/YiBeiGen"

2. 连接数据库的用户名

String name = "root";

3. 连接数据库的密码

连接数据库的密码
String passward = "8383";

 4. 通过反射实例化

Class.forName("com.mysql.jdbc.Driver");

这里是要理解的,为什么要反射实例化?
就是因为通过这个反射来加载这个Driver类,目的是为了出发static块
先来看看Driver类

5. 通过DriverManager对象获取数据库的连接对象

// 三个参数分别是
// 1. 连接Mysql数据库的URL
// 2. 连接数据库的用户名
// 3. 连接数据库的密码
// 我们在上面都实现过
Connection connection = DriverManager.getConnection(url, name, pwd);

完整代码

public class JdbcTest {public static void main(String[] args) throws ClassNotFoundException, SQLException {// 连接Mysql数据库的URLString url = "jdbc:mysql://localhost:3306/YiBeiGen";// 连接数据库的用户名String name = "root";// 连接数据库的密码String pwd = "8383";// 通过反射实现数据库驱动的加载与注册// 通过反射实例化// 添加数据库驱动的目的是翻译要执行的sql语句 // 只是加载这个类,目的是为了触发static块// 那么Driver类已经实例化出来了,并且放到了DriverManager当中Class.forName("com.mysql.jdbc.Driver");// 通过DriverManager对象获取数据库的连接对象Connection connection = DriverManager.getConnection(url, name, pwd);System.out.println(connection);}
}

 
输出结果类似这样没有报错就可以
如果报错了,就先检查密码以及数据库名称是否和MySQL的一致
如果一致都还报错,那么就可以在“连接数据库的URL”中再添加一个 “?useSSL=false"

url = "jdbc:mysql://localhost:3306/YiBeiGen?useSSL=false";

三. Properties文件用法

先讲作用:因为用刚刚这种原始的代码写,会出现一个问题,就是硬编码
硬编码:对于可变的内容,写死在代码中,就像刚刚的那个连接数据库的代码,就是一个死的,它的数据库库名字,连接数据库的URL以及密码都是写死的,这就是硬编码
硬编码的缺点就是,后序如果是另一个人用的这个代码,就要修改源代码,这就很麻烦
那么为了解决这个硬编码问题,就可以通过Properties文件来解决

property的英文意思:属性

1. properties文件介绍

后缀properties的文件是一种属性文件。这种文件以key=value格式存储内容
Java中可以使用Properties工具类来读取这个文件
项目中会将一些配置信息放到properties文件中,所以properties文件经常作为配置文件来使用

2. Properties工具类

Properties工具类,位于java.util包中,该工具类继承自Hashtable<Object,Object>
通过Properties工具类可以读取.properties类型的配置文件

Properties工具类中常用方法

a. load( InputStream is )

load英文意思:加载
通过给定的输入流对象读取properties文件并解析

b. getProperty( String key )

根据key获取对应的value

3. 新建Properties文件

右击包 ---> 新建 ---> 文件

在新建文件对话中,新建文件名字
注意:名字可以随意(最好见名知意),扩展名一定要是properties,扩展名都是小写!

4. 解决文件中文问题

我们创建好这个文件后,就可以在里面些内容了
但是因为文件默认编码的原因,里面写不了中文
如果要能写中文就要先做以下操作

a. 打开Idea的设置

a. 编辑器 ---> 文件编码 ---> 将编码改成GBK编码

修改成GBK中文编码就可以了

5. properties文件写法

这里我创建一个名为:test.properties 的文件
#号是注释

# 欢迎来到艺杯羹的阵地
key1 = 艺杯羹
key2 = LY

四. 使用properties文件优化连接

1. 基本操作

  • PropertiesTest:属性测试

  • class:类

  • getClassLoader:获取类加载器

  • getResourceAsStream:获取资源作为流

a. 实例化Properties对象

 Properties prop = new Proerties();

b. 获取读取properties文件的输入流对象

  • PropertiesTest:属性测试

  • class:类

  • getClassLoader:获取类加载器

  • getResourceAsStream:获取资源作为流

InputStream is = PropertiesTest.class.getClassLoader().getResourceAsStream("test.properties");

c. 通过给定的输入流对象读取properties文件并解析

prop.load(is);

d. 获取properties文件中的内容

String value1 = prop.getProperty("key1");
String value2 = prop.getProperty("key2");
System.out.println(value1+" "+value2);


就能够得到key对应的value值

2. 优化获取数据库连接

将连接数据库时所需要的信息存放到properties文件中,可以解决硬编码的问题
所以可以将这些可变的内容,抽取出来放在一个文件中
之后获取数据时,就从文件里获取不就好了
本次就是使用properties文件来优化硬编码问题

可以将以下四处写入properties文件中

a. properties文件内容

#连接Mysql数据库的URL
#jdbc:mysql://连接主机:端口号/数据库名
url=jdbc:mysql://localhost:3306/student
#连接数据库的用户名
username=root
#连接数据库的密码
pwd=3057454077
#数据库驱动名称
driver=com.mysql.jdbc.Driver

b. 获取连接

public class Student {public static void main(String[] args) throws IOException, ClassNotFoundException, SQLException {// 实例化Properties对象Properties prop = new Properties();// 获取读取properties文件的字节输入流对象InputStream is = JdbcTest2.class.getClassLoader().getResourceAsStream("jdbc.properties");// 读取properties文件并解析prop.load(is);// 获取连接数据库的urlString url = prop.getProperty("url");// 获取连接数据库的用户名String name = prop.getProperty("username");// 获取连接数据库的密码String pwd = prop.getProperty("pwd");// 获取数据库驱动全名String drivername = prop.getProperty("driver");// 加载并注册驱动,获得DriverManagerClass.forName(drivername);// 通过驱动管理器对象获取连接对象Connection connection = DriverManager.getConnection(url, name, pwd);System.out.println(connection);}
}

五. 封装JDBC工具类

经过刚刚的学习,JDBC一次性的创建连接还是有点麻烦的,那么可以将这个连接的方法封装成一个JDBC工具类,这样之后用就能得心应手了,不会一遍又一遍的去做重复的连接

封装的工具类有两个要求要注意的

工具方法一般定义成静态的
因为直接可以通过类名点方法,这样就更快速,更好
工具类的方法不要抛出异常,直接try - catch

因为增强健壮来统一处理

JdbcUtil工具类

public class JdbcUtils {private static String url;private static String name;private static String pwd;static {try{// 实例化Properties对象Properties prop = new Properties();// 获取读取properties文件的字节输入流对象InputStream is = JdbcTest2.class.getClassLoader().getResourceAsStream("jdbc.properties");// 读取properties文件并解析prop.load(is);// 获取连接数据库的urlurl = prop.getProperty("url");// 获取连接数据库的用户名name = prop.getProperty("username");// 获取连接数据库的密码pwd = prop.getProperty("pwd");// 获取数据库驱动全名String drivername = prop.getProperty("driver");// 加载并注册驱动Class.forName(drivername);}catch(Exception e){e.printStackTrace();}}// 获取数据库连接对象public static Connection getConnection(){Connection connection = null;try {connection = DriverManager.getConnection(url,name,pwd);} catch (SQLException throwables) {throwables.printStackTrace();}return connection;}// 关闭连接对象public static void closeConnection(Connection connection){try {connection.close();} catch (SQLException throwables) {throwables.printStackTrace();}}// 提交事务public static void commit(Connection connection){try {connection.commit();} catch (SQLException throwables) {throwables.printStackTrace();}}// 事务回滚public static void rollback(Connection connection){try {connection.rollback();} catch (SQLException throwables) {throwables.printStackTrace();}}// 关闭Statement对象public static void closeStatement(Statement statement){try {statement.close();} catch (SQLException throwables) {throwables.printStackTrace();}}// 关闭ResultSetpublic static void closeResultSet(ResultSet resultSet) {try {resultSet.close();} catch (SQLException throwables) {throwables.printStackTrace();}}// DML操作时关闭资源public static void closeResource(Statement statement,Connection connection){// 先关闭Statement对象// 刚刚写的方法closeStatement(statement);//在关闭Connection对象closeConnection(connection);}// 查询时关闭资源public static void closeResource(ResultSet resultSet,Statement statement,Connection connection){// 先关闭ResultSetcloseResultSet(resultSet);// 再闭Statement对象closeStatement(statement);// 最后关闭Connection对象closeConnection(connection);}
}

为什么要将Properties的操作放在静态块中?
因为Properties文件是一开始就要使用的,那么只有静态块最符合他,当使用了这个类时,最先是执行Properties文件,先获取Properties文件中的值,这样就可以更好的创建连接

这里除了连接数据库的方法,还写出了提交事务、事务回滚、关闭等操作,这些在之后都是会用到的,所以先按这个方法封装一个JDBC工具类

到现在已经讲解完了JDBC获取数据库连接的方法和properties的使用以及JDBC封装的工具类
希望本文能够帮助到你😊

http://www.dtcms.com/wzjs/477533.html

相关文章:

  • 广东商城网站建设网站域名费一年多少钱
  • 做婚恋网站赚钱吗地推拉新app推广接单平台免费
  • 销售网站建设成人技术培训班有哪些种类
  • 坂田做网站的公司企业推广软文
  • vs2008做html5网站大型集团网站建设公司
  • 自己网站做问卷调查问卷厦门百度快速优化排名
  • 怎么做公司网站互联网公司排名2021
  • 织梦网站导航浮动推广之家app下载
  • 有专门做英文字幕的网站吗青岛网站设计公司哪家好
  • 十大企业网站排行榜网络营销seo培训
  • 什么是seo优化的有哪些seo优化方案
  • 现在网站开发哪个语言好北京推广平台
  • 睢宁做网站公司资阳地seo
  • 济南网站开发推广百度广告优化
  • 网站改版引导网站在线推广
  • 做目录网站注意事项搜索引擎优化的目的是
  • 网站服务器租赁合同seo的优化方案
  • 网站建设谈客户说什么seo文章代写一篇多少钱
  • 做外贸都做哪些网站好免费下载新闻联播直播 今天
  • dedecms网站搬家b站大全永不收费2023入口在哪
  • 网站jianshe天津百度百科
  • 包牛牛网站怎么做搜索百度
  • 有做盆景的网站周口网站seo
  • 墨刀做网站上下滑动的交互电商网课
  • 网站搭建原理谷歌官方网站
  • vc 做网站源码北京网站优化
  • 建设网站经验在线种子资源库
  • 网站建设软件廊坊seo建站
  • 信誉好的合肥网站建设东莞疫情最新消息今天新增
  • 公司的个人网站怎么做百度权重域名