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

江苏网站建设建网页还是网站

江苏网站建设,建网页还是网站,什么软件可以制作网页封面,网站运营需要什么条件文章目录JDBC1.概念2.原理3. 如何使用JDBC编程1. 下载mysql的jdbc驱动2. 项目中引入驱动4. JDBC使用1. 和数据库建立连接2.获取连接3. Statement对象4. 释放资源JDBC 1.概念 JDBC,即Java Database Connectivity#xff0c;java数据库连接。是Java提供的API用来执行SQL语句java数据库连接。是Java提供的API用来执行SQL语句它是Java中的数据库连接规范这个API由java.sql.*,javax.sql.*包中的一些类和接口构成它为Java开发人员操作数据库提供了一个标准的API提供了多种关系的数据空提供访问。 2.原理 JDBC为多种关系数据库提供了统一访问方式数据库的种类有很多每个数据库提供的接口都各不同Java就能够使用一套代码就能操作各种不同种类的数据库。 Java开发者只需呀关注怎么使用就可以了JDBC的API是Java标准库里提供好的类驱动程序往往是一个jar包访问的是数据库服务器。 3. 如何使用JDBC编程 1. 下载mysql的jdbc驱动 MySQL官网下载从MySQL的githup下载Maven中央仓库下载 需要注意的是,如果MySQL的服务器是5.7话,那么驱动包也得是5系列的,8就用8系列的驱动包. 下载后的jar包里其实就是包含了很多.class文件,安装特定的目录结构组织,能够被Java识别. 2. 项目中引入驱动 创建一个目录把jar包拷贝进来由键这个目录,add as libray然后确定即可 4. JDBC使用 1. 和数据库建立连接 这个URL是和数据库建立连接时必备的它的基本格式为 String URL jdbc:mysql://127.0.0.1:3306/system_book?characterEncodingutf8useSSLfalse;jdbc:mysql协议名对于JDBC来说是固定的127.0.0.1数据库服务器ip(这里表示本机Ip)3306MySQL默认端口号system_book数据库名characterEncodingutf8当前成员以utf8字符集解析数据useSSLfalse传输是否加密 创建连接代码 private static final String URL jdbc:mysql://127.0.0.1:3306/system_book?characterEncodingutf8useSSLfalse;private static final String USER root;private static final String PASSWORD root;private static DataSource dataSource new MysqlDataSource();static {((MysqlDataSource)dataSource).setURL(URL);((MysqlDataSource)dataSource).setUser(USER);((MysqlDataSource)dataSource).setPassword(PASSWORD);}USER数据库用户名 PASSWORD数据库密码 DataSource是JDBC提供的一个接口 MysqlDataSource是一个类实现了DataSource接口用于MySQL操作数据库 这里的setURL、setUser、setPassword都是MysqlDataSource的方法 为啥上述方法不是DataSource接口的原因就是并不是所有数据都能设置者几个东西 这里的代码为啥要先向上转型再向下转型呢其实可以写成这样 MysqlDataSource mysqlDataSource new MysqlDataSource();mysqlDataSource.setURL(URL);mysqlDataSource.setUser(USER);mysqlDataSource.setPassword(PASSWORD);使用DataSource的好处就是我们持有的是DataSource示例它可以接受实现了它的其它类假设如果后续要更换数据库只需要修改这几行代码即可。如果使用MysqlDataSource就要修改大量代码 2.获取连接 DataSource dataSource new MysqlDataSource(); ((MysqlDataSource)dataSource).setURL(URL);((MysqlDataSource)dataSource).setUser(USER);((MysqlDataSource)dataSource).setPassword(PASSWORD); Connection connection dataSource.getConnection();还有一种获取连接的方式通过DriverManager驱动管理类的静态方法获取 Class.forName(com.mysql.jdbc.Driver);Connection connection DriverManager.getConnection(URL);以上两种方式的区别是 DriverManager类来获取的Connection连接是无法重复利用的每次使用完以后释放资源 时通过connection.close()都是关闭物理连接DataSource提供连接池的支持。连接池在初始化时将创建一定数量的数据库连接这些连接 是可以复用的每次使用完数据库连接释放资源调用connection.close()都是将 Conncetion连接对象回收 3. Statement对象 Statement对象主要是将SQL语句发送到数据库中。JDBC API中主要提供了三种Statement对象 PreparedStatement 用于执行带或不带参数的SQL语句SQL语句会预编译再数据库系统执行速度快于Statement对象 Statement 用于执行不带参数的简单SQL语句 CallableStatement 用于执行数据库存储过程的调用 当然PreparedStatement是最常用的主要有executeQuery() 方法和executeUpdate()方法 executeQuery() 方法执行后返回单个结果集的通常用于select语句executeUpdate()方法返回值是一个整数指示受影响的行数通常用于update、insert、delete 语句 带有参数的SQL执行 public boolean add(Book book) {Connection connection null;PreparedStatement statement null;try {// 和数据库建立连接connection DBUtil.getConnection();// 拼装sqlString sql insert into book values (null,?,?,?,?,?);statement connection.prepareStatement(sql);statement.setString(1,book.getName());statement.setString(2,book.getAuthor());statement.setString(3,book.getType());statement.setBigDecimal(4,book.getPrice());statement.setString(5,未借出);// 执行sqlint ret statement.executeUpdate();if (ret 0) {return true;}} catch (SQLException throwables) {throwables.printStackTrace();} finally {DBUtil.close(connection,statement,null);}return false;}不带参数的SQL执行 ResultSet对象ResultSet是一个结果集 它代表符合SQL语句条件的所有行并且它通过一套getXXX方法提供 了对这些行中数据的访问 我们如果想要取得某一条记录就要使用ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录就应该使用while循环 。 public ListBook getAll() {Connection connection null;PreparedStatement statement null;ResultSet resultSet null;ListBook bookList new ArrayList();try {// 和数据库建立连接connection DBUtil.getConnection();// 拼装sqlString sql select * from book;statement connection.prepareStatement(sql);// 执行sqlresultSet statement.executeQuery();while (resultSet.next()) {String bookName resultSet.getString(name);String auth resultSet.getString(author);String type resultSet.getString(type);BigDecimal price resultSet.getBigDecimal(price);String status resultSet.getString(status);Book book new Book(bookName,auth,type,price);book.setLoanOut((未借出.equals(status) ? false : true));bookList.add(book);}} catch (SQLException throwables) {throwables.printStackTrace();} finally {DBUtil.close(connection,statement,resultSet);}return bookList;}4. 释放资源 建立连接后使用完毕后一定要记得释放这个连接如果不一直不释放可能就会造成资源泄露的情况。 注意释放的顺序一定是先创建的后释放。 try {// 先创建的额后释放if (resultSet ! null) {resultSet.close();}if (statement ! null) {statement.close();}if (connection ! null) {connection.close();}} catch (SQLException throwables) {throwables.printStackTrace();}
http://www.dnsts.com.cn/news/97318.html

相关文章:

  • dede打包好的网站怎么提取模板李沧网站建设谁家好
  • 用花生壳做网站信融营销型网站建设
  • 成都网站优化师制作人韩剧结局
  • 商业网站 模板网站制作 代码
  • 太原网站建设策划方案vs2017 网站开发环境
  • 长春市网站制作怎么做网站链接的快捷方式
  • 石景山富阳网站建设捕鱼网站开发
  • 网站后台作用深圳app开发公司前十名
  • dw做网站怎么加视频国内免费素材网站
  • 礼品册兑换 网站建设武进做网站的公司
  • 湖北网站建设路松门建设规划局网站
  • 池州家居网站建设怎么样郑州app拉新项目
  • 万盛集团网站建设免费金融发布网站模板
  • 大寺网站建设公司微信小程序开发制作教程
  • 网站建设用户调查问卷wordpress网站报价
  • 自学html做网站要多久哈尔滨建站
  • 在社保网站做调动电子科技 深圳 网站建设
  • 平面设计兼职网站做网站甲方乙方公司的区别
  • 多梦wordpress淘宝seo是什么
  • 商城网站开发流程5118数据分析平台
  • 嘉定郑州阳网站建设可以做游戏的网站有哪些
  • 舟山网站建设推荐软件开发公司好的有哪些
  • 影视网站建设教程临沂做网站哪家好
  • 做网站的组要具备哪些素质哈尔滨网站建设丿薇
  • 南城区仿做网站怎么联系地推公司
  • 用外链技术做视频网站西安短视频运营公司
  • 提供网站建设方案服务做自动发货网站
  • 做电影收费网站织梦网站广告代码如何写
  • 南京手机网站制作公司英文网站 模板
  • 海北州网站建设公司哪里的网站可以做围棋死活题