网站首页 > 精选教程 正文
一般过程:
(1) 调用Class.forName()方法加载驱动程序。
(2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象。
(3) 创建一个Statement对象,准备一个SQL语句,这个SQL语句可以是Statement对象(立即执行的的语句)、PreparedStatement语句(预编译的语句)或CallableStatement对象(存储过程调用的语句)。
(4) 调用excuteQuery()等方法执行SQL语句,并将结果保存在ResultSet对象;或者调用executeUpdate()等方法执行SQL语句,不返回ResultSet对象的结果。
(5)对返回的ResultSet对象进行显示等相当的处理。
(6)释放资源。
1. 连接数据库
(1) 下载Mysql连接驱动
网址: http://dev.mysql.com/downloads/connector/j/ ,下载后放在F:\博士科研资料\数据库学习\mysql相关程序文件中,解压。
(2) 加载JDBC驱动
操作方法:在Eclipse中,选中相应的工程,点击Project-Properties中的Java Build Path,在Libraries中增加mysql-connector-java-5.1.21-bin.jar,点OK。
(3) 建一个简单的数据库如下:
import java.sql.*;public class GetConnection { public static void main(String[] args){ try{ //调用Class.forName()方法加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); System.out.println("成功加载MySQL驱动!"); }catch(ClassNotFoundException e1){ System.out.println("找不到MySQL驱动!"); e1.printStackTrace(); } String url="jdbc:mysql://localhost:3306/mysql"; //JDBC的URL //调用DriverManager对象的getConnection()方法,获得一个Connection对象 Connection conn; try { conn = DriverManager.getConnection(url, "root",""); //创建一个Statement对象 Statement stmt = conn.createStatement(); //创建Statement对象 System.out.print("成功连接到数据库!"); stmt.close(); conn.close(); } catch (SQLException e){ e.printStackTrace(); } } }
2. 查询数据表
在询数据表时,需要用到ResultSet接口,它类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应数据表的接口信息。
import java.sql.*;public class SelectTable { public static void main(String[] args){ try{ //调用Class.forName()方法加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); System.out.println("成功加载MySQL驱动!"); String url="jdbc:mysql://localhost:3306/aniu"; //JDBC的URL Connection conn; conn = DriverManager.getConnection(url, "root",""); Statement stmt = conn.createStatement(); //创建Statement对象 System.out.println("成功连接到数据库!"); String sql = "select * from stu"; //要执行的SQL ResultSet rs = stmt.executeQuery(sql);//创建数据对象 System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄"); while (rs.next()){ System.out.print(rs.getInt(1) + "\t"); System.out.print(rs.getString(2) + "\t"); System.out.print(rs.getInt(3) + "\t"); System.out.println(); } rs.close(); stmt.close(); conn.close(); }catch(Exception e) { e.printStackTrace(); } } }
3. 修改和删除数据库
//修改删除数据import java.sql.*;public class UpdateDeleteDemo { public static void main(String[] args)throws Exception{ try{ //调用Class.forName()方法加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); System.out.println("成功加载MySQL驱动!"); String url="jdbc:mysql://localhost:3306/aniu"; //JDBC的URL Connection conn; conn = DriverManager.getConnection(url, "root",""); Statement stmt = conn.createStatement(); //创建Statement对象 System.out.println("成功连接到数据库!"); //查询数据的代码 String sql = "select * from stu"; //要执行的SQL ResultSet rs = stmt.executeQuery(sql);//创建数据对象 System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄"); while (rs.next()){ System.out.print(rs.getInt(1) + "\t"); System.out.print(rs.getString(2) + "\t"); System.out.print(rs.getInt(3) + "\t"); System.out.println(); } //修改数据的代码 String sql2 = "update stu set name=? where number=?"; PreparedStatement pst = conn.prepareStatement(sql2); pst.setString(1,"8888"); pst.setInt(2,198); pst.executeUpdate(); //删除数据的代码 String sql3 = "delete from stu where number=?"; pst = conn.prepareStatement(sql3); pst.setInt(1,701); pst.executeUpdate(); ResultSet rs2 = stmt.executeQuery(sql);//创建数据对象 System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄"); while (rs.next()){ System.out.print(rs2.getInt(1) + "\t"); System.out.print(rs2.getString(2) + "\t"); System.out.print(rs2.getInt(3) + "\t"); System.out.println(); } rs.close(); stmt.close(); conn.close(); }catch(Exception e) { e.printStackTrace(); } } }
猜你喜欢
- 2024-10-29 Java中最简单的连接Oracle数据库和Mysql数据库的方式
- 2024-10-29 Java | MySQL 分布函数、前后函数你认识吗?
- 2024-10-29 Javaweb知识 day02 mysql数据库 javaweb程序设计任务教程黑马程序员电子版
- 2024-10-29 Jenkins Pipeline 连接 MySQL 数据库
- 2024-10-29 银四将近,Java程序员临时抱佛脚也要啃下的硬骨头——MySQL
- 2024-10-29 Java代码中,如何监控Mysql的binlog?
- 2024-10-29 Java环境+Mysql+Tomcat部署JavaWeb项目到云服务器(十分详细)
- 2024-10-29 mysql-connector-java与MySQL 8.X版本建立连接
- 2024-10-29 java连接mysql数据库达成数据查询详细教程
- 2024-10-29 Java代码操作MySQL java操作mysql语法
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)