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

建设银行粤通卡网站连锁餐厅vi设计公司

建设银行粤通卡网站,连锁餐厅vi设计公司,微信手机网站源码,网络推广教育机构文章目录一、什么是Java的JDBC二、JDBC编程三、代码整体展示一、什么是Java的JDBC JDBC#xff0c;即Java Database Connectivity。意思是java数据库连接。是一种用来执行 SQL 语句的 JavaAPI#xff0c;是Java中数据库的连接规范。这个 API 由 java.sql* 和 javax.sql* 包中… 文章目录一、什么是Java的JDBC二、JDBC编程三、代码整体展示一、什么是Java的JDBC JDBC即Java Database Connectivity。意思是java数据库连接。是一种用来执行 SQL 语句的 JavaAPI是Java中数据库的连接规范。这个 API 由 java.sql* 和 javax.sql* 包中的类和接口组成可以为多种关系数据库提供统一访问。 JDBC的工作原理 JDBC优势 JAVA语言访问数据库操作完全面向抽象类接口编程。开发数据库应用不用限定在特定的数据库厂商的 API。程序的可移植性大大增强。 二、JDBC编程 编程前准备 前面我们知道要进行 JDBC 编程需要使用 JavaAPI 和数据库进行连接。所以在进行编程之前需要先导入相应的 .jar 包。如下图所示 (本人这里使用的是 idea 编译器) 经过上面操作就可以进行编程了。 代码实现 创建 DateSource 数据库描述 mysql 在什么位置 DataSource dataSource new MysqlDataSource();//设置数据库所在的位置,端口以及数据库名((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/JDBCtest?characterEncodingutf-8useSSlfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(123456);注 如上图所示这里是一个向下转型在后续的代码中使用的是 DataSource 类型的实例。 上面的四行代码我们最需要注意的是第二句如图 这里的 IP 地址在解释一下我们各自电脑的 IP 地址可能不同但在这里统一写作 127.0.0.1。这是一个特殊的 IP 地址叫做 “环回IP” 表示主机自己。只要数据库服务器和 JDBC 程序在同一个电脑就可以使用这个 IP 地址。 和数据库建立连接 Connection connection dataSource.getConnection();//通过控制台来输入信息Scanner scanner new Scanner(System.in);System.out.println(请输入学号:);int id scanner.nextInt();System.out.println(请输入姓名:);String name scanner.next();如图所示这里的 connection 选择划红线的呢一个。 构造 sql 语句 这里的构造有两种方式 第一种直接使用字符串语句录入 String sql insert into student values( id , name );//jdbc 中需要搭配一个特定的对象来描述这里 sql 的情况PreparedStatement statement connection.prepareStatement(sql);这种形式的代码比较难以阅读不好理解。此外这个代码也是比较容易引起“SQL 注入攻击”。 这也是一种入侵服务器的方式假设输入name时这样操作); drop table … 这样就会删除后面的内容造成很大的影响。 第二种使用 PreparedStatement 通过占位符替换的方式来实现动态 sql 构造。 String sql insert into student values(?,?);//jdbc 中需要搭配一个特定的对象来描述这里 sql 的情况PreparedStatement statement connection.prepareStatement(sql);statement.setInt(1,id);statement.setString(2,name);System.out.println(sql: statement);上述的形式相对而言更加靠谱需要注意的是上面(?,?) 这个地方不是从 0 开始而是从 1 开始计算。 注意这里要选择红框中的这个关键字。 执行SQL 使用 executeUpdate 执行增删改 //4. 执行 sql,针对 增删改使用 executeUpdate 来执行// 查使用 executeQuery 来执行// 这里返回的含义是这里的操作影响了几行int ret (int) statement.executeLargeUpdate();System.out.println(ret ret); 使用 executeQuery 执行查 注这里的查操作存在于单独的一个类中 import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class JDBCSelectDemo {public static void main(String[] args) throws SQLException {DataSource dataSource new MysqlDataSource();((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/JDBCtest?characterEncodingutf-8useSSlfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(wjh123456);Connection connection dataSource.getConnection();String sql select*from student;PreparedStatement statement connection.prepareStatement(sql);//实现查操作ResultSet resultSet statement.executeQuery();while(resultSet.next()){//next 相当于移动一下光标光标指向下一行//获取到每一列int id resultSet.getInt(id);String name resultSet.getString(name);System.out.println(id : name);}//释放资源resultSet.close();statement.close();connection.close();} }如图所示光标所指的位置就是数据表的第一行每次读取后向下移动一个。 释放资源 statement.close();connection.close();这里要注意的是我们先连接(connection)了数据库再构造了(statement)对象。但是这里的顺序为什么要先关闭 statement 在关闭 connection 如图所示 这里要进入家中顺序是大门 - 二门 出家门的顺序是二门 - 大门 所以不难理解这里的关闭顺序是先创建后关闭。 三、代码整体展示 实现增删改操作的代码 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 JDBCinsertDemo {public static void main(String[] args) throws SQLException {//实现 JDBC 编程的步骤//1. 先创建 DataSource 数据库描述了 mysql 在哪DataSource dataSource new MysqlDataSource();//设置数据库所在的位置,端口以及数据库名((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/JDBCtest?characterEncodingutf-8useSSlfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(wjh123456);//2. 和数据库建立连接Connection connection dataSource.getConnection();//通过控制台来输入信息Scanner scanner new Scanner(System.in);System.out.println(请输入学号:);int id scanner.nextInt();System.out.println(请输入姓名:);String name scanner.next();//3. 构造 sql 语句//不安全//String sql insert into student values( id , name );String sql insert into student values(?,?);//jdbc 中需要搭配一个特定的对象来描述这里 sql 的情况PreparedStatement statement connection.prepareStatement(sql);statement.setInt(1,id);statement.setString(2,name);System.out.println(sql: statement);//4. 执行 sql,针对 增删改使用 executeUpdate 来执行// 查使用 executeQuery 来执行// 这里返回的含义是这里的操作影响了几行int ret (int) statement.executeLargeUpdate();System.out.println(ret ret);//5. 断开连接释放资源statement.close();connection.close();} } 运行展示 添加元素前 添加元素 注这里的删除修改操作只需要修改 sql后的语句即可。 要注意的仍然是针对 增删改使用 executeUpdate 来执行。 实现查找操作的代码 import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class JDBCSelectDemo {public static void main(String[] args) throws SQLException {DataSource dataSource new MysqlDataSource();((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/JDBCtest?characterEncodingutf-8useSSlfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(wjh123456);Connection connection dataSource.getConnection();String sql select*from student;PreparedStatement statement connection.prepareStatement(sql);ResultSet resultSet statement.executeQuery();while(resultSet.next()){//next 相当于移动一下光标光标指向下一行//获取到每一列int id resultSet.getInt(id);String name resultSet.getString(name);System.out.println(id : name);}//释放资源resultSet.close();statement.close();connection.close();} }运行结果 与添加的元素情况一致查找成功
http://www.dnsts.com.cn/news/210497.html

相关文章:

  • 国内做的较好的网站广州新站优化
  • 英国做电商网站有哪些岳阳建设网站的公司
  • 哪个网站可以找做中厚板的公司国际网站制作
  • 完整的网站开发做儿童网站
  • 官方网站下载手电筒互联网营销师怎么报考
  • 广州网站平台建设谷歌google play官网
  • 网站空间如何使用洛阳建设信息网站
  • 网站网络广告如何建设微信公众号免费做影视网站
  • 网站标题第一个词软件开发项目管理系统解决方案
  • 移动互联网开发技术是什么seo官网优化
  • 东莞网站建设效果好如何做翻唱网站
  • 北京网站优建设移动互联网时代的健康医疗模式转型与创新
  • 个人网站什么语言做西安专业网站建设公司哪家好
  • 创建网站服务器地址设计公司名称
  • 深圳市南山区住房和建设局网站制作相册音乐相册模板
  • 电子网站建设的实践目的一款app开发需要多少钱
  • 张掖网站建设0936e竞价网站建设
  • 网站后台怎么wordpress图片下一张
  • html网站地图制作seo查询软件
  • 太平阳电脑网网站模板凡科做的网站打不开
  • 手机网站图片优化开发app的工具
  • 手机电子商务网站建设问卷调查扬州外贸网站seo
  • 高端模板建站报价wordpress 增加 推荐
  • 大连开发区网站制作建设公司网络营销的方法有哪些
  • 建设银行网站为什么登不上室内装饰设计师国家职业技能标准
  • wordpress网站地图生成插件网络营销经典成功案例
  • 有了域名怎么制作网站平面设计排版技巧和方法
  • 邯郸网站建设渠道wordpress 替换jquery
  • 深圳南头高端网站建设php做的网站怎么调试
  • 网站备案拍照桐柏县建设局网站