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

温州网站排名优化公司哪家好团队网站模板

温州网站排名优化公司哪家好,团队网站模板,扬州市江都区城乡建设局网站,提高工作效率的句子示意图 目录 创建 JDBC 应用 例子#xff1a;通过本地协议纯 Java 驱动程序实现JDBC 代码具体步骤#xff1a; 1.注册驱动 2.建立与数据库的连接 3.获取执行SQL语句的对象 Statement 4.定义执行 SQL 语句 5.操作结果集对象 ResultSet 6.关闭操作对象及连接对象 JD… 示意图 目录 创建 JDBC 应用 例子通过本地协议纯 Java 驱动程序实现JDBC 代码具体步骤 1.注册驱动 2.建立与数据库的连接 3.获取执行SQL语句的对象 Statement 4.定义执行 SQL 语句 5.操作结果集对象 ResultSet 6.关闭操作对象及连接对象 JDBC的主要类及常用方法 1.Class 类 2.DriverManager 类 3.Connection 类 4.Statement 类 5.ResultSet 类 SQL 注入问题 PreparedStatement 接口 JDBC连接不同的数据库 JDBC 核心类和库java.sql的主要类 DriverMananer.负责管理 JDBC 驱动程序在使用JDBC驱动程序之前必须先将驱动程序加载并注册后才可以使用,同时提供方法来建立与数据库的连接。SQLException:有关数据库操作的异常。 而其主要接口如下 Connection特定数据库的连接会话)。在连接上下文中执行SQL语句并返回结果。PreparedStatement表示预编译的SQL语句的对象。Statement用于执行静态SQL语句并返回它所生成结果的对象。ResultSet表示数据库结果集的数据表通常通过执行查询数据库的语句生成。CallableStatement用于执行SQL存储过程的接口。   创建 JDBC 应用程序 1.载入JDBC 驱动程序 首先要在应用程序中加载驱动程序 driver使用 Class.forName() 方法加载特定的驱动程序每种数据库管理系统的驱动程序不同它们由数据库厂商提供。 2.定义连接URL 3.建立数据库连接 通过 DriverManager 类的 getConnection() 方法获得表示数据库连接的 Connection 类对象。 4.创建 Statement对象 获取 Connection对象以后,可以用Connection对象的方法创建一个 Statement对象的实例。 5.执行查询或更新 Statement对象可以执行 SELECT 语句的 executeQuery() 方法可以执行 INSERT、UPDATE、DELETE 语句的 executeUpdate() 方法。 6.结果处理 利用语句对象对数据库操作返回的结果进行处理ResultSet 包含一些用来从结果集中获取数据并保存到 Java 变量中的方法,主要包括 next() 方法用于移动结果集游标逐行处理结果集 getString()、getInt()、getDate()、getDouble() 等方法用于将数据库中的数据类型转换为Java语言的数据类型。 7.关闭使用完的对象 使用与数据库相关的对象非常耗内存因此,在数据库访问后要关闭与数据库的连接同时还应该关闭ResultSet、 Statement和 Connection 等对象。可以使用每个对象自己的close()方法完成。 例子通过本地协议纯 Java 驱动程序实现JDBC 以MySQL为例我们先下载一个MySQL数据库驱动jar包。 前提创建一个Java项目在项目中创建一个名为libs的目录为了方便管理就把jar包文件放入此目录下然后在src下建一个包包下再建一个类比如 注意之后选择libs右键——Add as Library以导入识别jar包 代码具体步骤 导入jar包package注册驱动获取数据库的连接对象获取执行SQL语句的对象定义、执行SQL语句并接收返回结果处理结果释放资源 以 MySQL 为例来说明 JDBC 的步骤 1.注册驱动 Class类提供的加载驱动程序的方法 public static Class forName(String className) throws ClassNotFoundException 加载驱动程序时会抛出 ClassNotFoundException 的 SQLException 异常 例如加载 MySQL 驱动程序的语句描述 Class.forName(com.mysql.jdbc.Driver); 2.建立与数据库的连接 DriverManager 类提供了 getConnection() 方法用于获取指定数据库的连接对象 public static Connection getConnection (String url, String userName, String password) throws SQLException MySQL 数据库的 url 格式为 jdbc:mysql://[host1:port1],[host2:port2].../[database][?参数名1][参数值1][参数名2][参数值2]...例子定义本地默认连接 url 1. String url jdbc:mysql://localhost:3306/eshop?useUnicodetrueamp;characterEncodingUTF-8; 2. String url2 jdbc:mysql://127.0.0.1:3306/test?useUnicodetruecharacterEncodingUTF-8userSSLfalseserverTimezoneGMT%2B8;拿到数据库的连接 Connection conn DriverManager.getConnection(url,root,password) 3.获取执行SQL语句的对象 Statement Connection 接口中提供了获取 Statement 对象的方法 Statement createStatement() throws SQLException 通过调用重载的 createStatement() 方法指定参数设置数据库操作结果的相关属性。比如获取 Statement 对象用来执行 SQL 语句并接收返回结果 Statement stmt conn.createStatement(); 4.定义执行 SQL 语句 需通过可以发送 SQL 命令的 Statement 对象 st。比如调用对象 st 的 executeQuery() 方法发送 SQL 查询命令。查询的主要方法如下 1. boolean execute(String sql) throws SQLException 2. ResultSet executeQuery(String sql) throws SQLException 3. int executeUpdate(String sql) throws SQLException 5.操作结果集对象 ResultSet ResultSet 接口提供可对结果集进行操作的主要方法如下 1. boolean next() throws SQLException //移动结果集操作指针 2. XXX getXXX(String columnName) throws SQLException //指定数据类型根据传入列的名字获取指定列的值 3. XXX getXXX(1) throws SQLException //指定数据类型根据传入列的编号获取指定列的值 SQL 类型和 Java 数据类型的对应关系 SQL 类型Java 类型CHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDecimalDECIMALjava.math.BigDecimalBITbooleanTINYINTbyteSMALLINTshortINTEGERintBIGINTlongREALfloutFLOATdoubleDOUBLEdoubleBINARYbyte[]VARBINARYbyte[]LONGVARBINARYbyte[]DATEjava.sql.DateTIMEjava.sql.TimeTIMESTAMPjava.sql.Timestamp 6.关闭操作对象及连接对象 数据库操作完成后就可调用接口 ResultSet、Statement、Connection 中的关闭方法了立即释放数据库和JDBC相关资源。如下所示 void close() throws SQLException 关闭顺序如下 关闭 ResultSet 对象关闭 Statement 对象关闭 Connection 对象 JDBC的主要类及常用方法 JDBC 的一系列步骤都由 JDBC API 中一组类的方法实现如下 1.Class 类 java.lang.ClassJava程序运行时会自动创建程序中的每个类的Class对象通过Class类的方法可以得到程序中每个类的信息。 格式效能补充/例子public static Class forName(String className)根据“限定全类名”来获取相应的Class对象 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver)加载指定名称JDBC-ODBC桥的驱动程序 public String getName()根据对象返回类名不怎么常用 2.DriverManager 类 DriverManager驱动程序管理器类维护着用户程序与数据库驱动程序之间的连接。它实现了驱动程序的装载、创建连接数据库系统的 Connection 类对象。 格式效能补充public static Connection getConnection(String url, String user, String password)根据url数据库JDBC-ODBC桥名称、数据库用户名、密码获取一个数据库的连接对象静态成员方法 3.Connection 类 Connection 连接类用于管理指定数据库的连接。 格式效能createStatement()创建 Statement 类的实例prepareSatement()创建 PreparedStatement 类的实例close()关闭 Connection 对象 4.Statement 类 Statement 数据库操作类提供执行数据库操作的方法如更新、查询数据库记录等。例子如下 Statement stmt conn.createStatement(); 重要的成员方法如下 格式效能ResultSet executeQuery(String sql)用来执行查询语句并返回一个ResultSet对象int executeUpdate(String sql)用来执行“增删改”语句返回值代表影响的行数boolean execute(String sql)用来执行任意语句返回代表是否返回了ResultSetclose()关闭 Statement 对象 5.ResultSet 类 ResultSet 结果集类提供对查询结果集进行处理的方法如 ResultSet rs stmt.executeQuery(select * from users); ResultSet 对象维持着一个指向表格的行的指针开始运行时指向表格的起始位置第一行之前0行 格式效能next()光标指针移到下一条记录返回一个boolean值privious()光标指针移到上一条记录 getXXX(字段名)或 getXXX(int i)等 获取指定类型的字段值。close()关闭 ResultSet 对象 ResultSet 接口提供的 getXXX 方法 方法Java返回类型getASCIIStreamjava.io.InputStreamgetBigDecimaljava.math.BigDecimalgetBinaryStreamjava.io.InputStreamgetBooleanbooleangetBytebytegetBytesbyte[]getDatejava.sql.DategetDoubledoublegetFloatfloatgetIntintgetLonglonggetObjectObjectgetShortshortgetStringjava.lang.StringgetTimejava.sql.TimegetTimestampjava.sql.TimestampgetUnicodeStreamjava.io.InputStream of Unicode characters SQL 注入问题 在使用 Statement 对象查询数据库时由于定义的 SQL 语句是拼接的就有可能出现 SQL 注入问题。所谓SQL注入就是把SQL命令插入查询字符串中最终达到欺骗服务器执行恶意的SQL命令的目的。 PreparedStatement 接口 此接口表示预编译的 SQL 语句的对象是为了解决 Statement 静态拼接所产生的 SQL 注入问题。PreparedStatement 接口是 Statement 接口的子接口其允许使用不同的参数多次执行相同的SQL语句。 Connection 接口提供创建 PreparedStatement 接口对象的方法可指定SQL语句 PreparedStatement preparedStatement(String sql) throws SQLException 虽然 PreparedStatement 接口继承了 Statement 接口但 PreparedStatement 语句中包含了警告预编译的 SQL 语句因此其效率更高。 PreparedStatementStatement能写啥带参数的SQL语句简单的SQL语句比较可动态设置参数、增加了预编译功能、提高了执行速度- 而且 PreparedStatement 的语句可以包含多个用“?”代替的字段设置时按要素出现顺序传参即可。如 Connection conn DBUtil.getConnection(); PreparedStatement ps null; ResultSet rs null; String sql SELECT * FROM users WHERE NAME? AND PWD?; ps conn.preparedStatement(sql); ps.setString(1, name); ps.setString(2, pwd); rs ps.executeQuery(); 格式效能ResultSet executeQuery()执行SQL查询并获取ResultSet对象int executeUpdate()执行“增删改”操作返回值是执行该操作所影响的行数boolean execute()执行任意语句返回代表是否返回了ResultSet PreparedStatement 接口 setXXX 方法 方法SQL类型setASClIStream产生一个 LONGVARCHAR 型的 ASCII 流setBigDecimalNUMERICsetBinaryStreamLONGVARBINARYsetBooleanBITsetByteTINYINTsetBytes VARBINARY 或 LONGVARBINARY 大小取决于对 VARBINARY 的限制 setDateDATEsetDoubleDOUBLEsetFloatFLOATsetIntINTEGERsetLongBIGINTsetNullNULLsetObject在发送之前转换为目标 SQL 类型的给定对象setShortSMALLINTsetString VARCHAR 或LONGVARCHAR 大小取决于驱动程序对 VARCHAR 的限制 setTimeTIMEsetTimestampTIMESTAMP JDBC连接不同的数据库 JDBC 是一套数据库连接的标准许多数据库连接的区别如下 数据库驱动路径名不同连接数据库的 url 不同 数据库连接池连接对象的集合 数据库连接池的特点 是个容器负责分配、管理数据库连接允许应用程序重复使用一个现有的数据库连接而不是再重新建立一个连接释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏 总结我觉得有点像 DHCP 服务器 资源重用提升系统响应速度避免数据库连接遗漏 数据库连接池实现 标准接口DateSource而不是以往的 JavaManager 官方Sun提供的数据库连接池标准接口由第三方组织实现此接口其功能就是获取连接 常见的数据库连接池DBCP、C3P0、Druid 我们以Druid德鲁伊为例其是阿里巴巴开源的数据库连接池项目功能强大、性能优秀。 注意SQL命令、参数设置、处理结果 略有点事以后补充 DBUtils我觉得还算是一个挺好用组件在学习HibernateMybatis这些ORM框架之前可以学着用用。可以极大简化我们的JDBC的代码用起来也很方便。
http://www.pierceye.com/news/414138/

相关文章:

  • python 网站开发 前端企业信用信息系统官网
  • 公司网站设计有哪些使用技巧呢商城网站建设怎么收费
  • 东莞做网站平台安阳营销型网站建设
  • 如何查看网站开发语言百度排行榜风云榜
  • 泉州 网站建设公司首选广告设计公司名字有寓意有创意
  • 天津个人做网站慈利网站制作
  • 专门做推广的网站吗宿迁房价2023年最新房价
  • 0基础12天精通网站建设网站建设 全网推广
  • 东莞网站营销推广公司移动应用开发案例
  • 妇科医院网站建设怎么做网站建设培训心得体会
  • 网站建设 管理正能量网站入口地址
  • 做网站没有创意Wordpress国际收款
  • 网站推广关键词工具wap网站分享到微信
  • 哪个网站可以给图片做链接做网站的公司在哪
  • 搬瓦工可以长期做网站广告制作开票大类是什么
  • 高级网站开发工信部小企业门户网站建设
  • 网站建站知识秦皇岛汽车网站制作
  • 建站之星极速版app开发需求
  • .net域名可以做银行网站吗做网站用模版
  • 嘉兴市平湖市建设局网站品牌设计公司 知乎
  • jfinal网站开发模板app开发网站
  • 成都和奇乐网站建设公司怎么样研发网站要多久
  • 蓬莱做网站北京宣传片
  • 网站建设 部署与发布wordpress多说插件
  • 池州做网站的公司哪里有网站开发技术
  • 网站建设内容策划外贸软件排行榜前十名
  • 微信官方网站公众平台郸城建设银行网站
  • .net 微信网站开发免费网站建设制作
  • 做网站需要啥备案之类的嘛传统的网站开发模式
  • 杭州网站seo优化最适合女生的专业排名