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

千博企业网站管理系统 后台拿shell视频推广方案模板

千博企业网站管理系统 后台拿shell,视频推广方案模板,东莞商贸公司寮步网站建设价格,咸阳疫情最新消息目录 1.数据库编程的必备条件 2.Java的数据库编程JDBC 3.JDBC的工作原理 4.第三方库connector的下载和导包 5.JDBC的使用 使用步骤 (1)创建数据源对象DataSource (2)给对象设置必要的属性 (3)和数据…

目录

1.数据库编程的必备条件

2.Java的数据库编程JDBC

 3.JDBC的工作原理

4.第三方库connector的下载和导包

5.JDBC的使用

使用步骤

 (1)创建数据源对象DataSource

(2)给对象设置必要的属性

(3)和数据库建立网络连接

(4)程序构造sql语句

(5)将sql语句传到服务器上执行

(6)释放上述资源

优化

整体代码

 具体操作

6.JDBC常用接口和类

(1)JDBC API

(2)数据库连接Connection

(2)Statement对象


1.数据库编程的必备条件

  • 编程语言,如Java,C、C++、Python等
  • 数据库,如Oracle,MySQL,SQL Server等
  • 数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提 供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。同样的, 要基于Java操作Oracle数据库则需要Oracle的数据库驱动包ojdbc。

2.Java的数据库编程JDBC

JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java 开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。  

 3.JDBC的工作原理

JDBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包 含一些通用的接口类。

JDBC访问数据库层次结构:

JDBC优势:

  1. Java语言访问数据库操作完全面向抽象接口编程
  2. 开发数据库应用不用限定在特定数据库厂商的API
  3. 程序的可移植性大大增强

4.第三方库connector的下载和导包

下载

这里提供一个最为简单的下载方法:去maven中央仓库下载 

  1. 链接:

看自己的数据库的版本情况来下载(点击Central下载即可)对应的版本(经典版最高是8.0,更高的版本在最新版中

注:MySQL的版本必须和connector的版本一致

导包

  1. 下载好 .jar 包
  2. 把 .jar导入到自己的Java项目中
    先在项目中创建一个目录.名字随便起,但是不要带有中文/特殊字符
    把下载好的jar包,拷贝到lib目录中
    右键刚才的lib目录, 点击add as library(告诉idea,这个lib目录是一个"库"目录)

5.JDBC的使用

使用步骤

 (1)创建数据源对象DataSource

(描述当前数据从哪来即数据库服务器所在的位置)
通过原码我们可以看到DataSourse是被interface修饰的类,不能用来直接实例化该对象,因此我们只能实例化它的子类MysqlDataSource

DataSource dataSource = new MysqlDataSource();

DataSourse:Java标准库JDBC自带的接口
MysqlDataSource:刚刚导入的 .jar包

(2)给对象设置必要的属性


1)数据库服务器在哪里   2)访问服务器的账户是啥     3)访问服务器的密码是啥

//第一种写法
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("root");
((MysqlDataSource) dataSource).setPassword("jqka");//第二种写法
MysqlDataSource mysqlDataSource = new MysqlDataSource();
mysqlDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/java112?characterEncoding=utf8&useSSL=false");
mysqlDataSource.setUser("root");
mysqlDataSource.setPassword("jqka");

第一种写法的好处:耦合程度更低
按照第一种写法,后续代码中如果再使用DataSource这个东西,是看不到"MysqlDataSource"这个信息的.
就使得后续的其他部分代码和“mysql"这个概念解耦合了.后面的代码,和啥数据库没关系.如果要更换数据库,此时代码修改的成本就比较低

说明:

Url

jdbc:mysql: 描述了url的用途是用来给jdbc的mysql使用的
127.0.0.1: IP地址.描述了mysql服务器所在的主机的位置.
3306:端口号,用来区分一个主机上的应用程序的.
java112?characterEncoding=utf8:数据库名和字符集
useSSL=false:额外的参数起到了针对这次的数据库连接,解释说明,这里表示关闭加密

User

root就是DBA权限最高账户管理员

Password

jqka即自己数据库的密码

(3)和数据库建立网络连接

受查异常,所以要向上进行抛异常

//2.和数据库服务器建立连接
Connection connection = dataSource.getConnection();
System.out.println(connection);

此处的Connection 对象,就是表示了一个数据库连接,
注意:

这里必须选择sql的Connection

(4)程序构造sql语句

我们之前在cmd敲的sql,是把 sql发送到mysql服务器mysql服务器负责解板,解析完成之后,执行.解析检查sql是否有语法错误具体要完成什么工作.....
解析工作,需要消耗系统资源
由于mysql服务器,同一时刻可能要同时给多个客户端提供服务.解析工作积少成多,也就会比较消耗资源

因此往往就可以把解析工作,放到客户端来完成(自己写的代码)
客户端发送sql之前,先解析好,先把一些能做的工作做好,这样服务器就可以降低一些工作量,减轻压力了

构造方法有很多种,这里我们使用最主流的PreparedStatement预编译语句来完成这一操作

//4.程序构造MySQL语句
String sql = "create table test(id int,name varchar(20))";
PreparedStatement statement = connection.prepareStatement(sql);

(5)将sql语句传到服务器上执行

statement.executeUpdate();的返回值表示影响了几行数据

(6)释放上述资源

//5.释放上述资源
statement.close();
connection.close();

说明:释放资源的顺序,要和创建资源的顺序相反
建立连接/创建语句的时候,就需要消耗一定的内存/硬盘/网络筹资源....这些资源,都是跟随这个连接来走的.
如果连接不再使用了,就需要把这些资源释放掉.

优化

此时我们还可以使用Scanner自定义让用户输入数据
 

Scanner scanner = new Scanner(System.in);
System.out.println("请输入id: ");
int id = scanner.nextInt();
System.out.println("请输入name: ");
String name = scanner.next();

在我们输入的时候可以使用占位符来进行操作避免出现多个引号的情况

String sql = "insert into student values(?,?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1,id);
statement.setString(2,name);

注意:

替换时下标是从1开始的

整体代码

package jdbc;import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;public class TestJDBC1 {public static void main(String[] args) throws SQLException {Scanner scanner = new Scanner(System.in);System.out.println("请输入id: ");int id = scanner.nextInt();System.out.println("请输入name: ");String name = scanner.next();//1.创建数据源对象//向下转型,DataSourceDataSource dataSource = new MysqlDataSource();((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");((MysqlDataSource) dataSource).setUser("root");((MysqlDataSource) dataSource).setPassword("jqka");/*MysqlDataSource mysqlDataSource = new MysqlDataSource();mysqlDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/java112?characterEncoding=utf8&useSSL=false");mysqlDataSource.setUser("root");mysqlDataSource.setPassword("jqka");*///2.和数据库服务器建立连接Connection connection = dataSource.getConnection();//3.程序构造MySQL语句//String sql = "insert into student values(2,'李四')";String sql = "insert into student values(?,?)";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1,id);statement.setString(2,name);//4.把sql语句传到服务器上执行int n = statement.executeUpdate();System.out.println(n);//5.释放上述资源statement.close();connection.close();}
}

 具体操作

插入删除修改操作都是相似的,改语句内容即可

//插入数据
String sql = "insert into student values(2,'李四')";
//删除id = 1的数据
String sql = "delete from student where id = 1";
//修改id = 2的name为张三
String sql = "update student set name = '张三' where id = 2";//传送sql语句到服务器上
int n = statement.executeUpdate();

select操作有所差异

  1. statement对象使用的方法为executeQuery()
  2. 使用该方法后返回的结果是一个结果集,需要用ResultSet来接收
  3. ResultSet需要单独进行释放
//查表
String sql = "select * from student";
PreparedStatement statement = connection.prepareStatement(sql);//接受的是一个结果集合
ResultSet resultSet = statement.executeQuery();//遍历
while (resultSet.next()) {System.out.println(resultSet.getInt("id"));System.out.println(resultSet.getString("name"));
}resultSet.close();

说明:通过ResultSet表示查询结果的临时表~~
代码中使用的时候可以当做"集合类"来使用,可以进行遍历
 

总结两种执行SQL的方法

executeQuery() 方法执行后返回单个结果集的,通常用于select语句

executeUpdate()方法返回值是一个整数,指示受影响的行数,通常用于update、insert、delete 语句

6.JDBC常用接口和类

(1)JDBC API

在Java JDBC编程中对数据库的操作均使用JDK自带的API统一处理,通常与特定数据库的驱动类是完全 解耦的。所以掌握Java JDBC API (位于 java.sql 包下) 即可掌握Java数据库编程。

(2)数据库连接Connection

Connection接口实现类由数据库提供,获取Connection对象通常有两种方式:

  1. 通过DriverManager(驱动管理类)的静态方法获取:
    // 加载JDBC驱动程序
    Class.forName("com.mysql.jdbc.Driver");
    // 创建数据库连接
    Connection connection = DriverManager.getConnection(url);

  2. 一种是通过DataSource(数据源)对象获取。实际应用中会使用DataSource对象。
     

    DataSource ds = new MysqlDataSource();
    ((MysqlDataSource) ds).setUrl("jdbc:mysql://localhost:3306/test");
    ((MysqlDataSource) ds).setUser("root");
    ((MysqlDataSource) ds).setPassword("jqka");
    Connection connection = ds.getConnection();

    区别:
    1. DriverManager类来获取的Connection连接,是无法重复利用的,每次使用完以后释放资源 时,通过connection.close()都是关闭物理连接。
    2. DataSource提供连接池的支持。连接池在初始化时将创建一定数量的数据库连接,这些连接 是可以复用的,每次使用完数据库连接,释放资源调用connection.close()都是将 Conncetion连接对象回收。

(2)Statement对象

Statement对象主要是将SQL语句发送到数据库中。JDBC API中主要提供了三种Statement对象。

实际开发中最常用的是PreparedStatement对象:

http://www.hkea.cn/news/308928/

相关文章:

  • 招聘网最新招聘信息网武汉seo计费管理
  • 直播软件开发源码重庆seo顾问
  • 公司网站如何做宣传百度视频推广怎么收费
  • 淄博市 网站建设报价郑州seo外包阿亮
  • 网络服务商是指什么网站优化排名工具
  • 网站优化的分析比较好的品牌策划公司有哪些
  • 国外比较好的资源网站电商运营推广是做什么的
  • 佛山房地产网站建设seo实战培训王乃用
  • 如何做可以赚钱的网站关键词如何快速排名
  • 深圳品牌做网站公司有哪些百度app推广
  • 重庆建设行业信息网站搜狗登录入口
  • 同仁行业网站建设报价北京做的好的seo公司
  • 陕西自助建站做网站郑州外语网站建站优化
  • 小型企业网站系统cilimao磁力猫最新版地址
  • 铁岭网站建设移动网站广东网站seo
  • 网站模板插件sem和seo
  • 用wordpress制作网站模板沈阳seo
  • 优化一个网站多少钱宜昌网站seo
  • 刚做的网站怎么才能搜索到枸橼酸西地那非片功效效及作用
  • 罗湖区网站公司专业模板建站
  • 哪有备案好的网站国产系统2345
  • 网站开发怎么让别人看到最新营销模式有哪些
  • ssm网站开发源码百度推广多少钱一个月
  • 手游门户网站建设appstore关键词优化
  • 齐河网站开发seo服务内容
  • 北京微信网站建设费用想卖产品怎么推广宣传
  • 网站上线的步骤厦门网站推广公司哪家好
  • 网站做app的软件有哪些百度一下你就知道下载
  • 界面设计的重要性百度seo关键词排名推荐
  • 股票做T网站直播营销