Java使用JDBC操作MySQL数据库
2019-04-29 08:50:52来源:博客园 阅读 ()
一、JDBC简介
JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组成。使用JDBC访问数据库的基本步骤如下:
1、加载JDBC驱动程序
2、建立数据库连接
3、创建操作数据库SQL的对象
4、执行语句并分析执行结果
5、关闭连接
在使用JDBC操作数据库之前,我们需要先向项目中加入JDBC驱动文件,将其放到项目中的lib文件夹下即可。
放入JDBC驱动文件(下)后,eclipse会自动将其加载到项目中(上)。
二、使用JDBC访问MySQL数据库
我们在MySQL数据库中建立了test库,test库中含有test表,表中的数据如下:
1、通过Statement对象执行静态SQL语句
1 package test; 2 3 import java.sql.*; //导入Java提供的数据库操作包 4 5 public class MySql { 6 public static void main(String[] args) { 7 8 String url = "jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai"; //数据库连接地址,此处表示连接本机3306端口的MySQL数据库里的test库,使用上海时区 9 Connection con; 10 Statement statement; 11 ResultSet rs; 12 int i; 13 String string; 14 15 try { 16 Class.forName("com.mysql.cj.jdbc.Driver"); //加载JDBC驱动程序 17 con = DriverManager.getConnection(url, "root", "root"); //建立与数据库的连接,后两个参数分别为账号和密码 18 statement = con.createStatement(); //创建Statement对象 19 20 rs = statement.executeQuery("select * from test"); //执行sql查询语句,返回结果集 21 System.out.println("查询结果为:"); 22 while(rs.next()) { //循环操作结果集 23 string = rs.getString("id") + "——" + rs.getString("name"); 24 System.out.println(string); 25 } 26 27 i = statement.executeUpdate("insert into test value(4,'wxc')"); //执行sql更新语句,返回影响行数 28 System.out.println("影响行数为:" + i); 29 30 rs.close(); //关闭结果集 31 statement.close(); //关闭Statement对象 32 con.close(); //关闭与数据库的连接 33 } catch (Exception e) { 34 e.printStackTrace(); 35 } 36 } 37 }
执行结果如下:
2、通过PreparedStatement对象执行预编译SQL语句
1 public class MySql { //大部分操作与执行静态SQL语句类似,相同部分此处不再赘述 3 public static void main(String[] args) { 4 5 String url = "jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai"; 6 Connection con; 7 String sql; 8 PreparedStatement preparedStatement; 9 ResultSet rs; 10 int i; 11 String string; 12 13 try { 14 Class.forName("com.mysql.cj.jdbc.Driver"); 15 con = DriverManager.getConnection(url, "root", "root"); 16 17 sql = "select * from test where id = ?"; //编写sql查询语句,问号为占位符,之后会被参数取代 18 preparedStatement = con.prepareStatement(sql); //创建PreparedStatement对象 19 preparedStatement.setString(1, "3"); //设置参数,第一个参数表示选择第几个占位符,第二个参数表示要输入的值 20 rs = preparedStatement.executeQuery(); 21 System.out.println("查询结果为:"); 22 while(rs.next()) { 23 string = rs.getString("id") + "——" + rs.getString("name"); 24 System.out.println(string); 25 } 26 27 sql = "delete from test where id = ?"; 28 preparedStatement = con.prepareStatement(sql); 29 preparedStatement.setString(1, "3"); 30 i = preparedStatement.executeUpdate(); 31 System.out.println("影响行数为:" + i); 32 33 rs.close(); 34 preparedStatement.close(); 35 con.close(); 36 } catch (Exception e) { 37 e.printStackTrace(); 38 } 39 } 40 }
执行结果如下:
原文链接:https://www.cnblogs.com/ysyasd/p/10786474.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:笔记:Java虚拟机运行时数据区
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash