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

大连手机自适应网站建设wordpress首页在哪里修改

大连手机自适应网站建设,wordpress首页在哪里修改,网站排名突然掉没了,wordpress幻灯片尺寸文章目录 前言1. 认识 JDBC1.1 概念1.2 好处 2. 使用 JDBC2.1 安装数据驱动包2.2 把 jar 包导入到项目中2.3 代码编写2.4 测试结果 3. 代码优化4. 源码展示结语 前言 在 MySQL 系列中#xff0c;我们介绍了很多内容#xff0c;包括但不限于建库建表#xff0c;增删查改等等… 文章目录 前言1. 认识 JDBC1.1 概念1.2 好处 2. 使用 JDBC2.1 安装数据驱动包2.2 把 jar 包导入到项目中2.3 代码编写2.4 测试结果 3. 代码优化4. 源码展示结语 前言 在 MySQL 系列中我们介绍了很多内容包括但不限于建库建表增删查改等等但是这些操作都是直接在本机上的 MySQL 进行的而在实际的开发过程中我们很少会这样做更多的是通过代码C、Java、Python……来操作数据库的。今天我们就会简单介绍如何通过 Java 代码来操作数据库 1. 认识 JDBC 1.1 概念 JDBCJava Database Connectivity是一个 Java API它提供了一种标准的方法用于 Java 程序与各种数据库进行交互。简单来说JDBC 是一个桥梁使得 Java 应用程序能够执行 sql 语句以查询、更新和管理数据库中的数据 1.2 好处 平台无关性JDBC 使我们可以在任何支持 Java 的平台上运行的数据库访问代码而无需关心底层数据库的类型数据库无关性JDBC 提供了统一的 API使得我们可以使用相同的代码结构来访问不同类型的数据库如 MySQL、Oracle、SQL Server 等简化数据库访问JDBC 简化了数据库访问的过程我们不需要深入了解底层数据库的复杂性就可以通过 JDBC 提供的接口轻松地执行数据库操作 2. 使用 JDBC 2.1 安装数据驱动包 所谓的数据驱动包实际上就是包含了 JDBC 操作数据库的 API 的一个 jar 包里面有很多的 .class 文件我们可以在官网下载驱动包 https://dev.mysql.com/downloads/ 也可以在 Maven 中央仓库下载https://mvnrepository.com/此处我们简单演示一下在 Maven 下载数据驱动包 打开 Maven 网址搜索栏输入“Mysql”此时最上面会出现两个结果。因为博主使用的 MySQL 版本比较老所以选择 “经典版” 点进去后就是各种版本的驱动包了。这里需要下载和你 MySQL 安装的版本一致才可我的MySQL是 5.7 的所以要选择 5.1 开头的后面的小版本无所谓如果你的 MySQL 是 8.x 版本的那你就要选择 8 开头的驱动包了 博主这里选择 5.1.49 这个版本点进去后下载 jar 包 这样就下载好啦~ 2.2 把 jar 包导入到项目中 先新建一个 Java 项目并在这个项目下右键建立一个目录命名为 lib注意不要带有中文/特殊字符 接着找到我们下载好的 jar 包直接复制然后粘贴到 lib 目录中ctrl c 和 ctrl v 即可点击 OK 然后右键 lib 目录点击 add as library再点击 OK 就行了。此时 idea 就能自动分析出 jar 包里有什么内容了 这样就大功告成啦 2.3 代码编写 1. 创建数据源要连接数据库时我们需要知道这个数据库的位置我们可以通过 DataSource 对象来获取 DataSource dataSource new MysqlDataSource();((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/javatest?characterEncodingutf8useSSLfalse); // “Javatest”是数据库名((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(xxxxxxxxx); // 根据你安装是设置的密码填入DataSourse 是 Java 中的一个接口不能直接创建对象因此我们使用 MysqlDataSource 这个子类来创建对象接下来是 setURL( )、setUser( )、setPassWord( )它们都是 MysqlDataSource 中的方法分别服务器的 url统一资源定位符、服务器的账号、服务器的密码此处我们还使用了向上转型和向下转型目的是为了降低耦合。若之后我们使用的数据库不是 MySQL那修改代码就十分方便 2. 和数据库服务器建立网络连接 Connection connection dataSource.getConnection();要注意此处的导入的包是 import java.sql.Connection 这个不要选错了此处的 Connection 对象表示的就是一个数据库连接抽象的客户端服务器连接此处的异常可以使用 throw 直接抛出 3. 构造 SQL 语句 比如我们现在想要在表中插入一条信息就可以使用字符串来表示 String sql insert into student values (qiqi, 77);接着使用 PreparedStatement 来预编译这个 sql 语句 PreparedStatement statement connection.prepareStatement(sql);我们写的 sql 语句就可以放在 statement 这个对象里面预编译指的是它可以在客户端发送 sql 语句前先解析一下从而降低服务器的工作压力 4. 执行 SQL 语句 我们需要把 sql 发送到服务器上进行执行可以使用 statement 里的方法 如果我们要执行的是增、删、改的操作那就使用 executeUpdate 方法 statement.executeUpdate();如果我们要执行的是查操作那就使用 executeQuery 方法 statement.executeQuery();5. 断开连接释放资源 在进行类似的网络通信时在使用完后一定要记得释放资源。我们上面创建了 connection 和 statement 两个对象它们都需要释放我们按照创造顺序的相反来关闭先 statement后 connection statement.close(); connection.close();完整代码如下 package jdbc;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 TestUpdate {public static void main(String[] args) throws SQLException {//1.创建数据源对象(基本是默认的)DataSource dataSource new MysqlDataSource();((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/javatest?characterEncodingutf8useSSLfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(xxxxxxxxx);//2.和数据库服务器建立网络连接(选择Connection java.sql包)Connection connection dataSource.getConnection();//System.out.println(connection);//测试连接是否成功//3.构造sql语句(基于PreparedStatement预处理)String sql insert into student values (qiqi, 77);//写死的//4.把sql发送到服务器上进行执行//statement.executeQuery()查询//statement.executeUpdate()增删改int n statement.executeUpdate();//影响的行数System.out.println(n);//5.释放上述资源(倒着释放)statement.close();connection.close();} }2.4 测试结果 最终打印 1即影响的行数表示插入成功 3. 代码优化 String sql insert into student values (qiqi, 77);//写死的我们这里是把插入的 sql 给写死了如果我们能够在控制台输入我们需要插入的信息岂不美哉。因此得把代码修改一下 //用户输入Scanner scanner new Scanner(System.in);System.out.println(请输入姓名);String name scanner.nextLine();System.out.println(请输入分数);int grade scanner.nextInt();//修改sql语句String sql insert into a values ( name , grade );这时候就可以通过控制台输入信息了。但是此处还有点小瑕疵它有可能会引起 sql 注入攻击别人可以通过代码直接拼接构造 sql 语句导致 sql 语句被恶意篡改有一篇 2012 年的新闻报道了 sql 注入事件感兴趣的可以看一下 网传技术流号牌遮挡能干掉交警数据库 警方辟谣 所以我们可以把 sql 语句再修改一下使用占位符 “ ” String sql insert into a values (?,?);//?为占位符接着通过 statement 对象里面的 setInt() 和 setString() 方法来设置这两个字段从而将这个 sql 语句构造完整这样就能防止 sql 注入攻击啦 PreparedStatement statement connection.prepareStatement(sql); statement.setInt(1, id); statement.setString(2, name);补充数据库的查找操作 上面我们提到了如果我们要执行的是查操作那就得使用 executeQuery 方法 除此之外返回的结果也不一样 如果是增、删、改操作的话返回的就只是一个 int 类型的值表示影响的行数可以检验 sql 语句是否执行成功但是对于查操作它会返回一个结果集也就是我们查询的结果因此我们可以使用ResultSet 对象来进行接收接着遍历里面的内容。最后也要记得关闭它哦其他的代码就和上面的插入是一样的 package jdbc;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 Testselect {public static void main(String[] args) throws SQLException {DataSource dataSource new MysqlDataSource();((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/javatest?characterEncodingutf8useSSLfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(xxxxxxxxx);Connection connection dataSource.getConnection();String sql select * from student;PreparedStatement statement connection.prepareStatement(sql);//一个集合类可以遍历得到ResultSet resultSet statement.executeQuery();//遍历结果while (resultSet.next()) {System.out.println(resultSet.getString(name));System.out.println(resultSet.getInt(grade));}resultSet.close();statement.close();connection.close();} }运行结果如下 4. 源码展示 插入操作 package jdbc;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 TestUpdate {public static void main(String[] args) throws SQLException {//0.用户输入Scanner scanner new Scanner(System.in);System.out.println(请输入姓名);String name scanner.nextLine();System.out.println(请输入分数);int grade scanner.nextInt();//1.创建数据源对象(基本是默认的)DataSource dataSource new MysqlDataSource();((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/javatest?characterEncodingutf8useSSLfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(xxxxxxxxx);//2.和数据库服务器建立网络连接(选Connection java.sql包)Connection connection dataSource.getConnection();//System.out.println(connection);//测试连接是否成功//3.构造sql语句(基于PreparedStatement预处理)//String sql insert into student values (qiqi, 77);//写死的//String sql insert into student values (name,grade);//代码看起来乱而且可能会被“sql注入攻击”--- );drop database xxx;String sql insert into student values (?,?);//?为占位符//String sql delete from a where name ?;//删除也是一样PreparedStatement statement connection.prepareStatement(sql); //预编译statement.setString(1,name); //1表示第一个问号statement.setInt(2,grade);//4.把sql发送到服务器上进行执行//executeQuery()查询//executeUpdate()增删改int n statement.executeUpdate();//影响的行数System.out.println(n);//5.释放上述资源(倒着释放)statement.close();connection.close();} } 查询操作 package jdbc;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 Testselect {public static void main(String[] args) throws SQLException {DataSource dataSource new MysqlDataSource();((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/javatest?characterEncodingutf8useSSLfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(xxxxxxxxx);Connection connection dataSource.getConnection();String sql select * from student;PreparedStatement statement connection.prepareStatement(sql);//一个集合类可以遍历得到ResultSet resultSet statement.executeQuery();//遍历结果while (resultSet.next()) {System.out.println(resultSet.getString(name));System.out.println(resultSet.getInt(grade));}resultSet.close();statement.close();connection.close();} }结语 今天我们介绍了如何使用 JDBC 连接数据库通过代码来直接操作 MySQL 数据库上面展示的操作方法还是比较粗糙的而且随着技术的不断更新我们也很少会直接使用 JDBC 了。但是理解上述的操作方法对我们来说肯定是有作用在后续使用框架的时候底层原理还是离不开这个操作思路的。接下来是博主的一些碎碎念 (●’◡’●) 一个月没写博客了有点生疏加上需要回顾前面的知识以及查阅资料确实需要消耗更多的时间。不知道值不值得继续✍但是总觉得学习完一个知识点后不总结篇博客就不得劲自己写的东西到时候来回顾应该也更加得心应手吧。接下来我更加努力更新博客加油 (ง •_•)ง 希望大家能够喜欢本篇博客有总结不到位的地方还请多多谅解。若有纰漏希望大佬们能够在私信或评论区指正博主会及时改正共同进步
http://www.dnsts.com.cn/news/246765.html

相关文章:

  • 网站打不开服务器错误怎样申请一个网站
  • 乾安网站建设郑州网站开发的公司电话
  • 公司网站建设开发济南兴田德润简介图片网站行销
  • 比较好的公文写作网站网站开发成本分析
  • 企业建站网站建站系统门户网站建设工作总结
  • 怎么免费建网站做网站要考虑的
  • 至设计网站php做的网站代码
  • 旅游网站 源码 织梦网站开发方案怎么写
  • 吴忠网站建设wap网站开发流程
  • 网站后台发布新闻建网站系统能换吗
  • 网站专栏怎么做漂亮建筑公司网站模板
  • 关键词免费网站文化建设的成就
  • 外呼系统电销seo搜索优化是什么意思
  • 网站建设价格在哪济南兴田德润优惠吗浙江建设工程造价信息网站
  • 佛山网站建设公司招聘网站开发后台软件
  • 最便宜的网站叫什么名字傻瓜式免费自助建站系统
  • 注册商标名字推荐seo资源网
  • 外贸网站seo推广教程wordpress渐隐渐现页面过渡效果
  • 做网站下面会有小广告广西最新消息今天公布
  • 自己做捕鱼网站能不能挣钱西安市建设监理协会官方网站
  • 资阳建网站河南省工程建设业协会网站
  • 网站建设优化怎么做彩票游戏网站开发
  • 简易东莞网站制作公司做网站代理
  • 江北网站建设网站同步到新浪微博怎么做
  • 卓企做的网站怎么样怎么学习做网站
  • 兴山县铁路建设协调指挥部网站必须重视的问题之一
  • 专门做网站需要敲代码么外贸小家电网站推广
  • 懒人建站jsp sql 网站开发
  • 网站开发和维护顺义网站建设报价
  • 平利县城乡建设局网站北京做网站价格