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

专业网站建设咨询第一家中文商务网站

专业网站建设咨询,第一家中文商务网站,wordpress 文章 字体,运营企业网站怎么赚钱概述 Java DataBase Connectivity#xff0c;Java 数据库连接 执行SQL的Java API 为多种关系型数据提供统一访问 FUNCTION 建立与数据库的连接向数据库发送 SQL 语句处理从数据库返回的结果 四种常见JDBC驱动程序 JDBC-ODBC Bridge drivernative-API, partly Java driver…概述 Java DataBase ConnectivityJava 数据库连接 执行SQL的Java API 为多种关系型数据提供统一访问 FUNCTION 建立与数据库的连接向数据库发送 SQL 语句处理从数据库返回的结果 四种常见JDBC驱动程序 JDBC-ODBC Bridge drivernative-API, partly Java driverJDBC-Net pure Java drivernative protocol, pure Java driver JDBC连接过程 底层API不能直接访问数据库 依赖于相应数据库厂商提供的JDBC驱动程序 —— 驱动程序是连接JDBC API与具体数据库之间的桥梁 JDBC连接MySQL数据库步骤 1加载JDBC驱动程序 2创建数据库连接 3创建Statement对象 4执行SQL语句 5处理执行SQL语句的返回结果 6关闭连接。 加载JDBC驱动程序 // 加载驱动程序方法 用java.lang.Class类的静态方法Class.forName(com.mysql.cj.jdbc.Driver); if 加载成功 then 系统将加载的驱动程序注册到DriverManager类中 else 抛出ClassNotFoundException异常 try {Class.forName (com.mysql.cj.jdbc.Driver); } catch (ClassNotFoundException ex) {System.out.println(加载数据库驱动时抛出异常!);ex.printStackTrace(); }2. 创建数据库连接 Connection接口代表与数据库的连接只有建立了连接用户程序才能操作数据库 一个应用程序可与单个数据库有一个或多个连接也可以与多个数据库有连接 调用DriverManager类的getConnection()方法 Connection conn DriverManager.getConnection(String url, String userName, String password);// 接数据库的路径、用户名及密码返回值类型为java.sql.Connection。 失败 抛出 SQLException异常 连接BookStore数据库则连接数据库路径的写法如下 jdbc:mysql://localhost:3306/bookstore 也可以采用带数据库数据编码格式的方式 jdbc:mysql://localhost:3306/bookstore?useUnicodetruechara cterEncodinggb2312 try {String url jdbc:mysql://localhost:3306/bookstore;String userroot; //访问数据库的用户名String password123456; //访问数据库的密码Connection conn DriverManager.getConnection(url,user,password); System.out.println(连接数据库成功); } catch (SQLException ex) {System.out.println(连接数据库失败);ex.printStackTrace(); }3. 创建Statement对象 执行SQL语句必须创建一个Statement对象 Connection接口的createStatement()方法可以创建Statement对象用来执行静态的SQL语句 prepareStatement(String sql)方法可以创建PreparedStatement对象用来执行动态的SQL语句 Statement stmtconn.createStatement();String sql select * from users where u_id? and u_sex?; PreparedStatement pstmt conn.prepareStatement(sql);4. 执行SQL语句 ¨Statement对象的常用方法有executeQuery()、executeUpdate()等, 用这些方法执行SQL语句 ResultSet executeQuery(String sql)方法产生单个结果集如select语句返回一个 ResultSet对象int executeUpdate(String sql)方法该方法用于执行 INSERT、UPDATE 或 DELETE 语句以及SQL DDL语句 —— 返回一个整数表示受到影响的行数如果是CREATE和DROP TABLE这种语句返回 0 //经创建了Statement对象stmt查询users表中的所有记录并将查询结果保存到ResultSet对象rs中 String sql select * from users; ResultSet rs stmt.executeQuery(sql);// 删除users表中u_id为7的记录String sql delete from users where u_id7; int rows stmt.executeUpdate(sql);PreparedStatement对象也可以调用executeQuery()和executeUpdate()两个方法但都不需要带参数 String sql delete from users where u_id?; PreparedStatement pstmt conn.prepareStatement(sql); pstmt.setInt(1,7); int rows pstmt.executeUpdate ();5. 处理执行SQL语句的返回结果 针对 ResultSet对象 常用方法 boolean next()指向当前数据行的指针指针最初指向第一行之前.移动到下一行。如果没有下一行时则返回false getXxx(列名或列索引):获取所在行指定的值getString(“name”)表示获取当前行列名为“name”的列值。 如果用索引索引值从1开始而不是0 String sql select * from users; ResultSet rsstmt. executeQuery(sql); rs.next(); int u_idrs.getInt(1); //或int u_idrs.getInt(u_id); String u_namers.getString(2); String u_sexrs.getString(u_sex);6关闭连接 rs.close(); stmt.close(); conn.close();JDBC数据库操作 1 增加数据 Statement对象提供的带参数的executeUpdate()方法PreparedStatement对象提供的无参数的executeUpdate()方法 2 修改数据 使用UPDATE命令来实现更新操作 // State的SQL语句需要写好 Statement stmt conn.createStatement(); String sql update users set u_pwd654321 where u_namezhangping; int temp stmt.executeUpdate(sql);// PS的SQL可以留空后续填 String sql update users set u_pwd? where u_name?; PreparedStatement pstmt conn.prepareStatement(sql); pstmt.setString(1, 654321); pstmt.setString(2, zhangping1); int temp pstmt.executeUpdate();3 删除数据 Statement stmt conn.createStatement(); String sql delete from users where u_namezhangping; int temp stmt.executeUpdate(sql);String sql delete from users where u_name?; PreparedStatement pstmt conn.prepareStatement(sql); pstmt.setString(1, zhangping1); int temp pstmt.executeUpdate();4 查询数据 executeQuery()方法 5 批处理 步骤 使用addBatch(sql)方法将需要执行的SQL命令添加到批处理中。使用executeBatch()方法执行批处理命令。使用clearBatch()方法清空批处理队列。 三种方法 批量执行静态的SQL批量执行动态的SQL批量执行混合模式的SQL。 静态Statement对象的addBatch()方法 优点 以向数据库发送多条不同的SQL语句、 缺点没有预编译执行效率较低 —— 数据库发送多条语句相同但仅参数不同的SQL语句时需重复使用多条相同的SQL语句 批量执行动态SQL用PreparedStatement对象的addBatch() 优点预编译后的SQL语句执行效率高 缺点只适用SQL语句相同但参数不同的批处理 —— 理经常用于在同一个表中批量更新表中的 数据 批量执行混合模式的SQL PreparedStatement对象的addBatch()方 数据源 连接池接建立一个“缓冲池”预先在“缓冲池”中放入一定数量的连接。需要建立数据库连接时只需从“缓冲池”中取出一个 数据源Data SourceWeb开发中获取数据库连接的首选方法。 首先创建一个数据源对象数据源简历连接对象连接池管理这些对象 JNDIJava Naming and Directory Interface名称于对象绑定技术 对象工厂创建对象 —— 和唯一名称绑定通过名称获取某对象访问应用程序可以通过名称来获得某个对象的访问 如何配置 Tomcat服务器 将MySQL数据库的JDBC驱动程序包复制到Tomcat安装路径下的lib文件夹中配置数据源。配置Tomcat根目录下conf文件夹中的文件context.xml在应用程序中使用数据源。配置数据源后就可以使用javax.naming.Context接口的lookup()方法来查找JNDI数据源 InitialContext ctx new InitialContext(); DataSource ds (DataSource)ctx.lookup(java:comp/env/jdbc/MySQLDB); Connection conn ds.getConnection(); Statement stmt conn.createStatement(); stmt.execute(SOME SQL QUERY);分页查询的例子 知识点补充 如果需要在结果集中前后移动或显示结果集指定的一条记录的时候就要用到游动查询这时应使用**带参数的createStatement()**方法 创建语句对象其语法格式如下 Statement stmtconn.createStatement(int typeint concurrency);type的取值 —— 滚动方式 ResultSet.TYPE_FORWORD_ONLY结果集的游标只能向下滚动。ResultSet.TYPE_SCROLL_INSENSITIVE结果集的游标可以上下移动当数据库变化时当前结果集不变。ResultSet.TYPE_SCROLL_SENSITIVE返回可滚动的结果集当数据库变化时当前结果集同步改变。 concurrency的取值决定是否可以用结果集更新数据库 ResultSet.CONCUR_READ_ONLY不能用结果集更新数据库中的表。ResultSet.CONCUR_UPDATETABLE能用结果集更新数据库中的表。
http://www.hkea.cn/news/14485605/

相关文章:

  • 电商网站开发步骤重庆网站建设公司销售
  • 建设银行手机官方网站下载安装网站模板图片
  • 网站开发商城1688产品经理如何看待网站开发
  • 保险网站排名广告设计与制作需要学什么
  • wordpress站点取名开发比较实用的软件
  • 网站建设保密条款wordpress 做社区
  • 深圳企业网站制作怎么开电商网店
  • 企业网站的短视频中心模板为什么要建设应急管理网站
  • 网站建设 尚瑞科技做网站制作的公司
  • 漯河市城市建设投资公司网站工信部网站备案密码
  • 网站语言切换前端可以做么购物网站源码
  • 成都市建设工程施工安监站网站鄂州seo厂家
  • 佛山网站搜索引擎优化网站开发过程会遇到的问题
  • 用wordpress仿a站网至普的营销型网站建设
  • 网站后台上传图片做难吗wordpress 主题小工具
  • 章丘公司做网站做便民网站都需要提供什么
  • 广州建站推广emeinet亿玫网站建设
  • mvc5做博客网站100m的光纤可以做网站吗
  • asp室内装修装潢网站源码wordpress 投稿审核
  • 网站开发广告宣传语霸气的网络公司名字
  • 旅游类网站开发开题报告范文WordPress怎么添加音乐
  • 如何注册一个设计网站郑州做定制网站的公司哪家好
  • 申请一个网站需要多少钱有没有教做韩餐的网站
  • 郑州网站推广培训网页视频下载插件哪个好用
  • 网站模板免费推荐自建社区网站
  • 优秀网站评析做网站的注意什么问题
  • 做视频解析网站犯法企信通
  • 北京网站建设公司如何选百度小程序异常怎么办
  • 专业网站搭建定做心理医院网站优化服务商
  • 网站开发背景论文动态效果的网站建设技术