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

网站建设类国外企业招聘网站

网站建设类,国外企业招聘网站,注册电商平台怎么注册,wordpress 修改评论列表课前导读: 本文章有关JDBC连接数据库的操作,其中涉及了编译器idea的使用,其中连接的数据库为MySQL数据库,通过博主自己的学习和总结写出了下面的文章。 目录 课前导读: 一、JDBC简介 二、JDBC连接操作 三、源码提供…

课前导读:

本文章有关JDBC连接数据库的操作,其中涉及了编译器idea的使用,其中连接的数据库为MySQL数据库,通过博主自己的学习和总结写出了下面的文章。


目录

课前导读:

一、JDBC简介

二、JDBC连接操作

三、源码提供以及注释信息

总结:


一、JDBC简介

我们没有官方的解释,jdbc就是很多个Java圈子里的大佬通过约定API定义操作数据库的标准,然后个个不同数据库厂商提供相应的驱动jar包来加载API文档来进行编译器和数据库的连接。驱动jar包相当于API的具体实现,只要掌握了JDBC这套API操作,无论操作哪个数据库,代码都是不变的,基本相同。

JDBC屏蔽了不同数据库原生API之间的差异,使用同一套API接口来规范所有数据库的编程操作。

大概就是这个图的意思

 但是官网下载驱动jar包很麻烦,于是可以取中央仓库下载jar包

中央仓库:Maven Repository: Search/Browse/Explore (mvnrepository.com)

 搜索mysql

点击Java连接选项

下载自己数据库对应版本的jar包

 下载jar包

 

 打开文件夹

 


二、JDBC连接操作

1、创建项目,创建lib包

2、将jar包复制进lib包中

3、右键jar包选中add as library点击,然后ok。 

 

4、创建Java项目进行jdbc代码编写(具体实现看代码中的注释部分)

  (1)通过jar包中的datasouce方法进行数据源的获取,固定格式记住,后面时mysql还是其他的根据所连接数据库类型进行选择。

  (2)通过datasource的向下转型调用子类方法进行路径、用户名和密码的配置。

 url:"jdbc:mysql://127.0.0.1:3306/java_106_1?characterEncoding=utf8&useSSL=false"

固定连接格式:3306后面写的是你所连接的mysql数据库中的具体数据库名,characterEncoding意思是使用utf8字符集,useSSL=false是指关闭网络协议,否则会报错。

  (3)通过getconnection方法获取数据库连接,此处一定要选java.sql接口,不是那个jdbc接口。

 

  (4)定义字符串动态写入sql,?是占位符

  (5)创建statement对象接收上面的数据库连接。

 (6)通过Java的输入进行动态sql编写,通过statement的setint,setString方法把数据写入到sql中,这里的1,2就是指第几个问号,从1开始数。

  (7)执行sql语句

用statement的executeupdate方法来执行sql,用ret接收收影响行数,打印受影响行数。

  (8)释放资源:先执行的后释放,先释放近的。 

  (9)如果执行sql语句是查询语句时,就需要遍历结果集,如果时增删改语句就和上面一样,只需要改动sql语句。 


 

三、源码提供以及注释信息

 增加语句连接:

package src;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连接数据库增加数据操作Scanner in=new Scanner(System.in);//1.获取数据源DataSource dataSource=new MysqlDataSource();//1.1配置路径,用户名和密码((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java_106_1?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("123456");//2.获取数据库连接,抛异常给jvm处理,如果遇到异常直接终止程序Connection connection=dataSource.getConnection();//3.动态写入增加sql语句到student表中String sql="insert into student values(?,?)";//3.1创建statement对象,接收连接.PreparedStatement statement=connection.prepareStatement(sql);//写入sql数据int id=in.nextInt();//多写一行line防止下面输入字符串时遇到int的回车退出。in.nextLine();String name=in.nextLine();//默认第一个问号从1开始,这里的1,2就是上面创建sql语句时问号的位置。statement.setInt(1,id);statement.setString(2,name);//4.执行sql语句int ret=statement.executeUpdate();System.out.println(ret);//5.释放资源,先创建的后释放,后创建的先释放statement.close();connection.close();}
}

修改语句连接:

package src;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 JDBCUpdateDemo {public static void main(String[] args) throws SQLException {//JDBC连接数据库修改操作,相比添加操作只需要修改sql语句Scanner in=new Scanner(System.in);//1.获取数据源DataSource dataSource=new MysqlDataSource();//1.1配置路径,用户名和密码((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java_106_1?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("123456");//2.获取数据库连接,抛异常给jvm处理,如果遇到异常直接终止程序Connection connection=dataSource.getConnection();//3.动态写入增加sql语句到student表中String sql="update student set id=?,name=? where id=?";//3.1创建statement对象,接收连接.PreparedStatement statement=connection.prepareStatement(sql);//写入sql数据System.out.println("请输入你修改后的新id:");int newid=in.nextInt();//多写一行line防止下面输入字符串时遇到int的回车退出。in.nextLine();System.out.println("请输入你修改后的新name:");String newname=in.nextLine();System.out.println("请输入你要修改的原id位置:");int id=in.nextInt();//默认第一个问号从1开始,这里的1,2就是上面创建sql语句时问号的位置。statement.setInt(1,newid);statement.setString(2,newname);statement.setInt(3,id);//4.执行sql语句int ret=statement.executeUpdate();System.out.println(ret);//5.释放资源,先创建的后释放,后创建的先释放statement.close();connection.close();}
}

删除语句连接:

package src;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 JDBCDeleteDemo {public static void main(String[] args) throws SQLException {//JDBC连接数据库删除操作,相比修改操作只需要改sql语句Scanner in=new Scanner(System.in);//1.获取数据源DataSource dataSource=new MysqlDataSource();//1.1配置路径,用户名和密码((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java_106_1?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("123456");//2.获取数据库连接,抛异常给jvm处理,如果遇到异常直接终止程序Connection connection=dataSource.getConnection();//3.动态写入增加sql语句到student表中String sql="delete from student where id=?";//3.1创建statement对象,接收连接.PreparedStatement statement=connection.prepareStatement(sql);//写入sql数据System.out.println("请输入你删除的id:");int newid=in.nextInt();//多写一行line防止下面输入字符串时遇到int的回车退出。//默认第一个问号从1开始,这里的1,2就是上面创建sql语句时问号的位置。statement.setInt(1,newid);//4.执行sql语句int ret=statement.executeUpdate();System.out.println(ret);//5.释放资源,先创建的后释放,后创建的先释放statement.close();connection.close();}
}

查询语句连接:

package src;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;
import java.util.Scanner;public class JDBCSeleteDemo {public static void main(String[] args) throws SQLException {//JDBC连接数据库修改操作,相比添加操作只需要修改sql语句Scanner in=new Scanner(System.in);//1.获取数据源DataSource dataSource=new MysqlDataSource();//1.1配置路径,用户名和密码((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java_106_1?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("123456");//2.获取数据库连接,抛异常给jvm处理,如果遇到异常直接终止程序Connection connection=dataSource.getConnection();//3.动态写入增加sql语句到student表中String sql="select * from student";//3.1创建statement对象,接收连接.PreparedStatement statement=connection.prepareStatement(sql);//4.执行sql语句,使用resultset结果集接收query的值,遍历结果集输出查询内容//!!注意!!增删改用statement.executeUpdate,查询用executeQueryResultSet resultSet =statement.executeQuery();//通过next来遍历,直到没有就跳出循环while(resultSet.next()){//接收遍历得到的数据//此处接收的名字要和数据库的字段名一一对应.int id=resultSet.getInt("id");String name=resultSet.getString("name");System.out.println(id+" "+name);}//5.释放资源,先创建的后释放,后创建的先释放statement.close();connection.close();}
}


总结:

本次JDBC连接主要是针对MySQL数据库的连接,我们需要勤加联系这些代码,因为它都是一个固定的模板,我们只要掌握了,就可以随时拿出来用,这也是我们网页开发连接服务器和客户端的重要工具,也算是网页开发的基础内容,我们需要特别熟悉!

所有成功的开始还得基于牢靠的基础,努力学习,坚持编码,编程伴随每一天!

http://www.dtcms.com/a/407628.html

相关文章:

  • tp做网站房地产培训网站建设
  • php网站做分享到朋友圈网站设置搜索框是什么知识点
  • 免费psd图片素材网站ui设计培训大概多少钱
  • 《C++程序设计》笔记p6
  • 安徽同济建设集团网站公司搭建网站模板
  • 【读书笔记】《大国大成》
  • C++笔记(基础)引用 inline内联函数
  • 焦作网站建设公司哪家好dz整站网站建设
  • 建站快车品牌北京网站建设兴田德润放心
  • cuda编程笔记(22)-- NVIDIA Triton Inference Server
  • 怎么知道网站是否被百度收录软件开发工具有哪些
  • 伦理治理进入程序化攻坚阶段
  • 经典网站赏析永久使用免费虚拟主机
  • 【跟我学YOLO】YOLO26:YOLO Vision 2025 最新发布的端到端视觉 AI 新突破
  • 什么网站百度收录好最新国家大事时政新闻
  • 怎么做网站手机版辅助设计软件有哪些
  • Model Context Protocol (MCP)详解与Spring Boot集成实战
  • 珠海h5模板建站网站建设考试卷a卷
  • 豆包Seedream 4.0创意玩法大赏:开启AI绘画新纪元
  • 算法基础篇(5)前缀和
  • 手机网站宽度多少合适网站开发行业代码
  • 了解一下Ubuntu上搭建的ROS环境
  • 博客网站搭建网站建设需要资质么
  • 泰安市景区建设网站阿里巴巴企业网站怎么做
  • 网站采用什么字体wordpress get_pages()
  • 禁用内核模块,是否需要执行脚本 $ sudo update-initramfs -u $ sudo update-grub ?
  • 建站最好的公司排名织梦cms源码
  • 渲染 Python 中用 LaTeX 语法定义的数学公式 - 环境准备
  • 做教育业网站wordpress最漂亮的主题
  • 上海快速网站建设wordpress推广浏览插件