preparedstatement(preparedstatement与statement对象有什么区别)

2024-03-13 07:45:02 4

preparedstatement(preparedstatement与statement对象有什么区别)

本文目录

preparedstatement与statement对象有什么区别

1.PreparedStatement:PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(sql)方法可以获得PreparedStatment对象。数据库系统会对sql语句进行预编译处理(如果JDBC驱动支持的话),预处理语句将被预先编译好,这条预编译的sql查询语句能在将来的查询中重用,这样一来,它比Statement对象生成的查询速度更快。2.Statement使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。

JDBC中的Statement和PreparedStatement的区别

statement是语句,prepared statement是预定义语句。书写合格的程序代码,是进行程序设计的根本。熟练地掌握了这些内容,在以后的编程中才不会捉襟见肘。编程的语法就像人类语言的语法一样,是用一些词汇和词汇的组织规则来表达自己的。Visual Basic的程序代码由语句、常数和声明等部分组成。这些语句就叫做statements,使用最频繁的语句是赋值语句,在程序运行的过程中改变对象的属性、变量的值。语法如下:对象.属性或变量=表达式赋值语句是把等号右边表达式的值赋给等号左边的变量或对象的属性。要添加注释,只需要用单引号’作为注释文字的开头。注释符告诉Visual Basic,忽略这个符号后面的内容,这些内容就是代码段中的注释部分,在代码器中以绿色字符显示。注释可以和语句在同一行,写在语句的后面,也可占据一整行。可以在代码器中,用续行符(_)把长语句分成几行。使用续行符,在电脑上和打印出来时,代码变得更加易读。在同一行内,续行符后面不能加注释。续行符也不能把变量名和属性名分隔在两行中。一行有一个Visual Basic语句,不用像C语言那样,一条语句后面要加一个分号作为语句的终结符,但是也可以把两个或几个语句放在同一行,只是要用冒号把它们分开。但是,为了便于阅读,最好还是一行放一个语句。

PreparedStatement 是什么

jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力。在使用statement获取jdbc访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-05 20:56 或者 02/05/02 8:56 pm。 通过使用java.sql.preparedstatement,这个问题可以自动解决。一个preparedstatement是从java.sql.connection对象和所提供的sql字符串得到的,sql字符串中包含问号(?),这些问号标明变量的位置,然后提供变量的值,最后执行语句,例如: stringsql = "select * from people p where p.id = ? and p.name = ?"; preparedstatement ps = connection.preparestatement(sql); ps.setint(1,id); ps.setstring(2,name); resultset rs = ps.executequery(); 使用preparedstatement的另一个优点是字符串不是动态创建的。下面是一个动态创建字符串的例子: stringsql = "select * from people p where p.i = "+id; 这允许jvm(javavirtual machine,java虚拟机)和驱动/数据库缓存语句和字符串并提高性能。preparedstatement也提供数据库无关性。当显示声明的sql越少,那么潜在的sql语句的数据库依赖性就越小。由于preparedstatement具备很多优点,开发者可能通常都使用它,只有在完全是因为性能原因或者是在一行sql语句中没有变量的时候才使用通常的statement。一个完整的preparedstatement的例子: package jstarproject; import java.sql.*; public class mypreparedstatement { private final string db_driver="com.microsoft.jdbc.sqlserver.sqlserverdriver"; private final string url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=pubs"; public mypreparedstatement() { } public void query() throws sqlexception{ connection conn = this.getconnection(); string strsql = "select emp_id from employee where emp_id = ?"; preparedstatement pstmt = conn.preparestatement(strsql); pstmt.setstring(1,"pma42628m"); resultset rs = pstmt.executequery(); while(rs.next()){ string fname = rs.getstring("emp_id"); system.out.println("the fname is " + fname); } rs.close(); pstmt.close(); conn.close(); } private connection getconnection() throws sqlexception{ // class. connection conn = null; try { class.forname(db_driver); conn = drivermanager.getconnection(url,"sa","sa"); } catch (classnotfoundexception ex) {} return conn; } //main public static void main(string args) throws sqlexception { mypreparedstatement jdbctest1 = new mypreparedstatement(); jdbctest1.query(); } } 为什么要始终使用PreparedStatement代替Statement?为什么要始终使用PreparedStatement代替Statement? 在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.也就是说,在任何时候都不要使用Statement. 基于以下的原因: 一.代码的可读性和可维护性. 虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次: stmt.executeUpdate("insert into tb_name (col1,col2,col2,col4) values (’"+var1+"’,’"+var2+"’,"+var3+",’"+var4+"’)"); perstmt = con.prepareStatement("insert into tb_name (col1,col2,col2,col4) values (?,?,?,?)"); perstmt.setString(1,var1); perstmt.setString(2,var2); perstmt.setString(3,var3); perstmt.setString(4,var4); perstmt.executeUpdate(); 不用我多说,对于第一种方法.别说其他人去读你的代码,就是你自己过一段时间再去读,都会觉得伤心. 为什么 PreparedStatement 很重要, 以及怎样"正确"使用他们. 数据库有一个艰苦的工作. 它们不断地从许多客户端读取 SQL 查询, 对数据进行尽可能高效的 查询. 处理语句可能成为一个代价较高的操作, 但是现在数据库都是很好的设计, 这样这个困难 被减到最小. 但是这些优化需要应用程序开发者的协助, 这篇文章给你展示一下怎样正确使用 PreparedStatement 来漂亮地帮助数据库执行这些优化. 一个数据库怎样执行一条语句? 显然, 不要希望这里有许多细节; 我们只看一下对这篇文章比较重要的部分. 当一个 数据库接收 到一条语句的时候, 数据库引擎首先解析这条语句, 查看语法错误. 一 旦语句解析了, 数据库 需要找出最有效的方法来执行这条语句. 这个计算起来代价很大. 数据库检查什么索引(如果有 的话)能有所帮助, 或者它是否能全部读出一张表中所有的记录. 数据库根据这些关于数据库所 存数据的统计数字来找出最好的办法. 一旦制订出查询方案, 就可以由数据库引擎来执行. 需要 CPU 来产生访问方案. 想的情况, 如果我们把相同的语句给数据库发送两次, 我们期望 数据库重用第一条记录的访问方案. 这会比第二次重新产生方案要使用较少的 CPU. 语句缓冲数据库可以进行调节来做语句缓冲. 通常包含一些类型的语句缓冲. 缓冲使用语句本身作为关键 字, 访问方案和相应的语句存储在缓冲区中. 这样就允许数据库引擎 对以前执行过的语句所使用 的访问方案进行重用. 举个例子来说, 如果我们向数据库发送这样一条语句 "select a, b from t where c = 2", 计算好的访问方案就放入缓冲区了. 如果我们以后再使用同样的语 句, 数据库就能重用以前的访问方案, 这样就能节省 CPU. 但是要注意, 整条语句是一个关键字. 例如, 如果我们后来发送的语句是 "select a,b from t where c = 3", 那么就不会找出以前的访问方案. 因为 "c=3" 和 "c=2" 是不一 样的. 所以, 例如: For(int I = 0; I 《 1000; ++I) { PreparedStatement ps = conn.prepareStatement("select a,b from t where c = " + I); ResultSet rs = Ps.executeQuery(); Rs.close(); Ps.close(); } 这里不会用到缓冲. 每次循环向数据库发送一条不同的 SQL 语句. 每次循环都重新计算新的访问 方案, 用这种方法我们会浪费大量的 CPU 周期. 但是, 看看下一个片段: PreparedStatement ps = conn.prepareStatement("select a,b from t where c = ?"); For(int I = 0; I 《 1000; ++I) { ps.setInt(1, I); ResultSet rs = ps.executeQuery(); Rs.close(); } ps.close(); 这样就会高效得多. 发送给数据库的语句在 sql 中使用 @#?@# 符号来参数化. 这意味着每次循环 发送是同一条语句, 在 "c=?" 部分带有不同的参数. 这样就允许数据库重用语句的访问方案, 是程序在数据库内部运行得更高效. 这基本上能使你的程序 运行得更快, 或者使数据库用户能更多 地使用 CPU. PreparedStatement 和 J2EE 服务器当我们使用 J2EE 服务器的时候, 事情会变得更加复杂. 通常情况下, 一个预先准备好的语句 (prepared statement) 是和一个单独的数据库连接相关联的. 当连接关闭时, 语句就被丢弃 了. 一般来说, 一个胖客户端应用程序在得到一个数据库连接后会一 直保持到程序结束. 它会使用 两种方法创建所有的语句: 急切创建(eagerly) 或者 懒惰创建(lazily). Eagerly是说, 当程序启动时全部创建. Lazily是说随用随创建. 急切的方法会在程序启动时有些延时, 但是一旦程序启动以后, 运行很好. 懒惰的方法启动很快, 但是当程序运行时, 预先准备的语句在第一次使用是创建. 这就会造成性能 不平衡, 知道所有的 语句都准备好了, 但是最终程序会和急切方法一样快. 哪一种最好要看你需要的是快速启动还是 均衡的性能. 一个 J2EE 应用程序所带来的问题就是它不能像这样工作. 它只在一个请求的生存时间中保持一个 连接. 这意味着在他处理每一个请求时都会重新创建语句, 就不象胖客户端只创建一次, 而不是每 个请求都创建那样有效, 当 J2EE 服务器给你的程序一个连接时, 并不是一个真正的连接, 而是一个经过包装的. 你可以通过查看那个连接的类的名字来检验一下. 它不是一个数据库的 JDBC 连接, 是你的服务器创建 的一个类. 通常, 如果你调用一个连接的 close 方法, 那么 jdbc 驱动程序会关闭这个连接. 我们希望的是当 J2EE 应用程序调用 close 的时候, 连接会返回到连接池中. 我们通过设计一个 代理的 jdbc 连接类来做这些, 但看起来 就象是实际的连接. 当我们调用这个连接的任何方法时, 代理类就会把请求前递给 实际的连接. 但是, 当我们调用类似 close 的方法时, 并不调用实际 连接的 close 方法, 只是简单地把连接返回给连接池, 然后把代理连接标记为无效, 这样当它 被应用程序重新使用时, 我们会得到异常.包装是非常有用的, 因为它帮助J2EE 应用程序服务器实现者比较聪明地加上预先准备语句的 支持. 当程序调用Connection.prepareStatement 时, 由驱动程序返回一 个 PreparedStatement 对象. 当应用程序得到它时, 保存这个句柄, 并且在请求完成时, 关闭 请求之前关闭这个句柄. 但是, 在连接返回到连接池之后, 以后被同样或者 另一个应用程序重用时, 那么, 我们就理论上希望同样的 PreparedStatement 返回给 应用程序.

PreparedStatement比Statement有什么优势

一、PreparedStatement相比于Statement,有三个优点:一)代码的可读性和可维护性。从代码来看,用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说,都比直接用Statement的代码高很多档次。 二)PreparedStatement尽最大可能提高性能。 每一种数据库都会尽最大努力对预编译语句提供最大的性能优化,因为预编译语句有可能被重复调用,所以语句在被DB的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中(相当于一个函数)就会得到执行。这并不是说只有一个Connection中多次执行的预编译语句被缓存,而是对于整个DB中,只要预编译的语句语法和缓存中匹配,那么在任何时候就可以不需要再次编译而可以直接执行。而statement的语句中,即使是相同一操作,而由于每次操作的数据不同所以使整个语句相匹配的机会极小,几乎不太可能匹配。比如: insert into tb_name (col1,col2) values (’11’,’22’); insert into tb_name (col1,col2) values (’11’,’23’); 即使是相同操作但因为数据内容不一样,所以整个个语句本身不能匹配,没有缓存语句的意义,事实是没有数据库会对普通语句编译后的执行代码缓存。 当然并不是所有预编译语句都一定会被缓存,数据库本身会用一种策略,比如使用频度等因素来决定什么时候不再缓存已有的预编译结果,以保存有更多的空间存储新的预编译语句。 用Statement对象时,每次执行一个SQL命令,都会对它进行解析编译,而PreparedStatement对象在多次执行同一个SQl语句时都只解析编译一次。PreparedStatement对象“就像一条生产线,批量生产同一型号的产品速度非常快。”这样便可极大地减少资源开销。三)极大地提高了安全性。传递给PreparedStatement对象的参数可以被强制进行类型转换,使开发人员可以确保在插入或查询数据时与底层的数据库格式匹配。在公共Web站点环境下,有恶意的用户会利用那些设计不完善的、不能正确处理字符串的应用程序来个SQl注入,那就有麻烦。二、例子:两者的代码:1)Statement代码 Statement stmt = con.createStatement();String sql = "INSERT INTO dept VALUES (12, ’GAME’, ’BeiJing’)";stmt.executeUpdate(sql);2)PreparedStatement代码 String sql = "INSERT INTO dept VALUES ( ?, ?, ? )";PreparedStatement pre = con.prepareStatement(sql);pre.setInt(1, deptno); //部门编号pre.setString(2,dname); //部门名称pre.setString(3,location); //部门地址pre.executeUpdate();

为什么PrepareStatement可以防止sql注入

其实是预编译功能,用preparedstatement就会把sql的结构给数据库预编译。SQL注入 攻 击 是利用是指利用 设计 上的漏洞,在目 标 服 务 器上运行 Sql语 句以及 进 行其他方式的 攻 击 , 动态 生成 Sql语 句 时 没有 对 用 户输 入的数据 进 行 验证 是 Sql注入 攻 击 得逞的主要原因。 对 于 JDBC而言, SQL注入 攻 击 只 对 Statement有效, 对 PreparedStatement 是无效的, 这 是因 为 PreparedStatement 不允 许 在不同的插入 时间 改 变查询 的 逻辑结 构。 如 验证 用 户 是否存在的 SQL语 句 为 : select count(*) from usertable where name=’用 户 名 ’ and pswd=’密 码 ’如果在 用 户 名字段 中 输 入 ’ or ’1’=’1’ or ’1’=’1或是在 密 码 字段 中 输 入 1’ or ’1’=’1将 绕过验证 ,但 这种 手段只 对 只 对 Statement有效, 对 PreparedStatement 无效。 PreparedStatement 相 对 Statement有以下 优 点: 1.防注入攻击 2.多次运行速度快 3.防止数据库缓冲区溢出 4.代 码 的可读性可维护性好

Statement和PreparedStatement之间的区别

  Statement:

  Statement 是 Java 执行数据库操作的一个重要接口,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。Statement对象,用于执行不带参数的简单SQL语句。

  PreparedStatement:

  java,servlet中的PreparedStatement 接口继承了Statement,并与之在两方面有所不同:有人主张,在JDBC应用中,如果已经是稍有水平的开发者,就应该始终以PreparedStatement代替Statement. 也就是说,在任何时候都不要使用Statement。

  如何选择使用:

  1. 选择PreparedStatement还是Statement取决于要怎么使用它们。对于只执行一次的SQL语句选择Statement是最好的.相反,如果SQL语句被多次执行PreparedStatement是最好的。

  2. PreparedStatement: 数据库会对sql语句进行预编译,下次执行相同的sql语句时,数据库端不会再进行预编译了,而直接用数据库的缓冲区,提高数据访问的效率(但尽量采用使用?号的方式传递参数),如果sql语句只执行一次,以后不再复用。

  3. 从安全性上来看,PreparedStatement是通过?来传递参数的,避免了拼sql而出现sql注入的问题,所以安全性较好。在开发中,推荐使用 PreparedStatement。

preparedstatement用法是什么

1、preparedstatement是预编译的statement,从效率、数据类型等方面来看一般均应优先使用preparedstatement,而不是原始的statement。

2、HashMap用的是哈希表,适用于在Map中插入、删除和定位元素;而Treemap用的是二叉排序树,适用于按自然顺序或自定义顺序遍历键。访问方式一样

3、实现好像是语言本身的事情,使用倒简单,假定父类为A,子类为B,则向上转型为Aa=newB();向下转型为Bb=(B)a(注意强制转化是有前提的,否则运行时出错)

举例:

string strsql = "select emp_id from employee where emp_id = ?";

preparedstatement pstmt = conn.preparestatement(strsql);

pstmt.setstring(1,"pma42628m");

解释:此时sql中的"?"的值就是”pma42628m“。

PreparedStatement的setInt方法是什么

用ps的set方法首先要构造带有占位符的sql。例:ps = con.prepareStatement("SELECT * FROM fnbl_user WHERE username =?");ps.setString(1, "admin");result = ps.executeQuery(preSql);不同的参数使用不同的set,也可以setString等。java中的PreparedStatement 接口继承了Statement,并与之在两方面有所不同:有人主张,在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.也就是说,在任何时候都不要使用Statement。

preparedstatement类的作用是什么

简单的说: 1、preparedstatement 是预编译的statement,从效率、数据类型等方面来看一般均应优先使用preparedstatement,而不是原始的statement。 2、HashMap用的是哈希表,适用于在Map中插入、删除和定位元素;而Treemap用的是二叉排序树,适用于按自然顺序或自定义顺序遍历键。访问方式一样 3、实现好像是语言本身的事情,使用倒简单,假定父类为A,子类为B,则向上转型为A a = new B();向下转型为B b = (B) a(注意强制转化是有前提的,否则运行时出错) 4、(资料很多...)

preparedstatement(preparedstatement与statement对象有什么区别)

本文编辑:admin
: preparedstatement,d,prep,

更多文章:


闪克声卡和莱维斯声卡对比?莱维特能搭内置声卡吗

闪克声卡和莱维斯声卡对比?莱维特能搭内置声卡吗

本篇文章给大家谈谈莱维特声卡,以及闪克声卡和莱维斯声卡对比对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录闪克声卡和莱维斯声卡对比莱维特能搭内置声卡吗莱维特声卡采样率设置莱维特240和249pro的区别 莱维特声卡的不同莱维特

2024年6月8日 04:30

可以挣人民币的手机游戏(能自由交易赚rmb的手游)

可以挣人民币的手机游戏(能自由交易赚rmb的手游)

本篇文章给大家谈谈可以挣人民币的手机游戏,以及能自由交易赚rmb的手游对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录能自由交易赚rmb的手

2024年8月28日 18:25

一体手机进水开不了机(ViVO一体机进水了吹干开不了机怎么办)

一体手机进水开不了机(ViVO一体机进水了吹干开不了机怎么办)

本文目录ViVO一体机进水了吹干开不了机怎么办一体机进水了开不了机怎么办一体机手机进水后按了开机键后开不了机怎么办手机充着电进水开不了机怎么办一体机ViVO一体机进水了吹干开不了机怎么办这是vivo手机进液处理方法:1、不要强行开机,强行开

2024年4月9日 08:30

苹果笔记本怎么查型号和配置(苹果笔记本哪里看配置)

苹果笔记本怎么查型号和配置(苹果笔记本哪里看配置)

本文目录苹果笔记本哪里看配置苹果笔记本电脑后面可以看出型号吗苹果笔记本哪里看配置 第一步,用鼠标左键单击“我的电脑”,选中“我的电脑”图标(图标颜色加深)。  第二步,在确定选中的情况下,单击鼠标右键,全显示很多菜单,拖动鼠标,使 电脑桌

2024年2月28日 08:20

佳能入门级全画幅单反(5d4和6d2画质的区别)

佳能入门级全画幅单反(5d4和6d2画质的区别)

本文目录5d4和6d2画质的区别入门级全画幅单反推荐请问佳能全画幅相机有哪些佳能全画幅单反型号汇总有推荐的佳能全画幅的入门级的机器嘛5d4和6d2画质的区别  想要购买全画幅单反相机,在佳能的6D2和5D4之间该如何选择,两者的价格相差快一

2023年6月22日 13:20

project软件(Project教程:如何分配资源和管理资源)

project软件(Project教程:如何分配资源和管理资源)

本文目录Project教程:如何分配资源和管理资源project这是什么软件,有什么作用project软件在工程项目管理中最主要的用途是什么请大家推荐一下比Project更方便使用的研发管理软件project是什么文件格式Project教程

2024年6月2日 13:00

手机套发黄怎么办(手机壳发黄了怎么办不要小苏打)

手机套发黄怎么办(手机壳发黄了怎么办不要小苏打)

本文目录手机壳发黄了怎么办不要小苏打手机套发黄怎么办手机套变黄了,怎么才能变白手机硅胶套发黄了怎样让手机硅胶套变白手机壳发黄了怎么办不要小苏打手机壳发黄了,除了用小苏打和醋把手机壳洗干净,还可以尝试以下几种方法清洗:方法一:首先需要医用酒精

2023年12月13日 10:45

迪优美特刷机固件下载(迪优美特k10固件在何处下载,需要錢吗)

迪优美特刷机固件下载(迪优美特k10固件在何处下载,需要錢吗)

本文目录迪优美特k10固件在何处下载,需要錢吗迪优美特s8四核增强版官方固件刷机下载idb失败怎么解决,迪优美特网络机顶盒怎样刷机迪优美特x9 rk3368芯片安卓刷机包迪优美特网络机顶盒rk3368刷机固件迪优美特k10固件在何处下载,需

2024年5月21日 04:27

vivos7vivox30哪个好(vivox30和vivos7哪个好)

vivos7vivox30哪个好(vivox30和vivos7哪个好)

本文目录vivox30和vivos7哪个好vivoy77和vivox30哪个好vivox30和vivos7哪个好一般来说哪个贵,哪个就好一些,x30略优于s7具体可进入网页版vivo官网首页--任意机型--对比机型--选择要对比的机型查看详

2024年1月14日 06:25

q8300支持多大内存(q8300能跑win10吗, q8300,1g独显,4g内存.500g硬盘)

q8300支持多大内存(q8300能跑win10吗, q8300,1g独显,4g内存.500g硬盘)

本文目录q8300能跑win10吗, q8300,1g独显,4g内存.500g硬盘装机时酷睿2 四核Q8300配多大的内存Q8300是64位处理器吗,WIn7 32位为什么不支持4G内存Q8300的内存频率问题q8300能跑win10吗,

2024年5月15日 14:26

采耳是什么有什么样的体验?第一次采耳是怎样的体验

采耳是什么有什么样的体验?第一次采耳是怎样的体验

本文目录采耳是什么有什么样的体验第一次采耳是怎样的体验采耳有什么感觉采耳对身体有好处,还是有害采耳是什么有什么样的体验就是我们俗称的“掏耳朵”,很舒服,先用工具放松面部及耳朵,然后进行清理,主要是干净,自己掏耳朵容易掏不干净,而且一不小心还

2023年8月29日 17:20

电脑wifi连接上不能上网怎么办(wifi已连接却不能上网怎么办)

电脑wifi连接上不能上网怎么办(wifi已连接却不能上网怎么办)

大家好,今天小编来为大家解答以下的问题,关于电脑wifi连接上不能上网怎么办,wifi已连接却不能上网怎么办这个很多人还不知道,现在让我们一起来看看吧!本文目录wifi已连接却不能上网怎么办电脑无线网络显示已连接上但不能上网怎么处理电脑wi

2024年9月29日 02:15

索爱m109刷机(索爱m 109刷机)

索爱m109刷机(索爱m 109刷机)

大家好,如果您还对索爱m109刷机不太了解,没有关系,今天就由本站为大家分享索爱m109刷机的知识,包括索爱m 109刷机的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录索爱m 109刷机索爱m 109刷机我买的索

2024年11月4日 04:40

5000元电脑配置单(5000以内电脑配置)

5000元电脑配置单(5000以内电脑配置)

本篇文章给大家谈谈5000元电脑配置单,以及5000以内电脑配置对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录5000以内电脑配置5000

2024年7月5日 09:50

深圳手机水货(为什么深圳那么多卖水货手机)

深圳手机水货(为什么深圳那么多卖水货手机)

本文目录为什么深圳那么多卖水货手机为什么淘宝上深圳的手机要比别处的便宜许多,他们的手机从哪弄来的是不是水货啊特别是国产手机为什么深圳那么多卖水货手机因为近香港咯。香港作为以个国际都市,是一个自由贸易的城市。电子产品几乎都是免税的,我们大陆就

2024年3月20日 08:10

近期文章

本站热文

电脑包尺寸对照表(电脑包要多大)
2024-07-23 11:15:58 浏览:3901
e10000(皖E10000是什么车)
2024-07-17 11:22:25 浏览:3508
ati radeon hd 5650(电脑的显卡是ATI Mobility Radeon HD 5650 (MADION PRO) ( 1 GB ) 这个显卡)
2024-07-07 05:01:37 浏览:3103
华为mate20pro版本区别(mate20pro有必要买ud版吗)
2024-07-24 08:26:42 浏览:2631
ipad买蜂窝版还是wifi版(ipad air 5买蜂窝好不好)
2024-07-17 14:35:19 浏览:2238
vivo y3配置参数(vivoy3参数是什么)
2024-07-16 07:07:06 浏览:2074
标签列表

热门搜索