每次都是注册驱动,获取连接,然后执行。每次都写很累,肯定能抽取出来一些东西。Java里面是这样的,相同的东西可以抽取做成一个方法。用的时候调这方法就OK了。这方法抽取到什么程度呢?

package cn.itcast.jdbc;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import org.junit.Test;import cn.itcast.utils.JdbcUtils;//jdbc的crud操作
public class JdbcDemo6 {@Testpublic void findByIdTest(){//1.定义sqlString sql = "select * from user where id= 1";Connection con = null;Statement st = null;ResultSet rs = null;try {//1.注册驱动  Class.forName("com.mysql.jdbc.Driver");//2.获取连接try {con = DriverManager.getConnection("jdbc:mysql:///day17", "root", "");//3.获取操作sql语句对象Statementst =   con.createStatement();//4.执行sqlrs = st.executeQuery(sql);//5.遍历结果集while(rs.next()){int id = rs.getInt("id");//String id = rs.getString("id");//虽然用getString()行,但是用getInt()比较合适String username = rs.getString("username");String password = rs.getString("password");String email = rs.getString("email");System.out.println(id+"   "+username+"   "+password+"   "+email);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//6.释放资源try {if(rs !=null ){rs.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(st!=null){st.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(con!=null){con.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}   }
}//添加操作@Testpublic void addTest(){//定义sqlString sql = "insert into user values(null,'张三','123','zs@163.com')";Connection con = null;Statement st = null;ResultSet rs = null;try {//1.注册驱动  Class.forName("com.mysql.jdbc.Driver");//2.获取连接try {con = DriverManager.getConnection("jdbc:mysql:///day17", "root", "");//3.获取操作sql语句对象Statementst =   con.createStatement();//4.执行sqlint row = st.executeUpdate(sql);System.out.println(row);if(row!=0){System.out.println("添加成功");}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//6.释放资源try {if(rs !=null ){rs.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(st!=null){st.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(con!=null){con.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}   }}//update操作@Testpublic void updateTest(){//将id=3的人的password修改为456String password = "456";String sql = "update user set password='"+password+"' where id=3";//1.得到ConnectionConnection con = null;Statement st = null;try {con = JdbcUtils.getConnectin();//3.获取操作sql语句对象Statementst =   con.createStatement();//4.执行sqlint row = st.executeUpdate(sql);System.out.println(row);if(row!=0){System.out.println("添加成功");}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//关闭资源try {if(st!=null){st.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(con!=null){con.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}  }}
}

package cn.itcast.utils;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class JdbcUtils {public static Connection getConnectin() throws ClassNotFoundException, SQLException{Class.forName("com.mysql.jdbc.Driver");//在开发中用哪个Statement人家有选择的权利,你不能给它抽取//2.获取连接Connection       con = DriverManager.getConnection("jdbc:mysql:///day17", "root", "");return con;
}
}

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/6636036.html

day17 10.jdbc的crud操作相关推荐

  1. JDBC实现CRUD操作

    目录 前言 一.JDBC介绍 1.概念 2.关系 3.优点 二.JDBC编程步骤 1.导包 2.获取连接 2.1创建配置文件 2.2数据连接方式(通用格式) 3.实现CRUD操作 3.1为什么要替换? ...

  2. JDBC的CRUD操作之PreparedStatement的查询操作

    @Test/*** 查询操作*/public void demo4(){Connection conn = null;PreparedStatement pstmt = null;ResultSet ...

  3. JDBC的CRUD操作之PreparedStatement的删除操作

    @Test/*** 删除操作*/public void demo3(){Connection conn = null;PreparedStatement pstmt = null;try{// 获得连 ...

  4. JDBC的CRUD操作之PreparedStatement的修改操作

    @Test/*** 修改操作*/public void demo2(){Connection conn = null;PreparedStatement pstmt = null;try{// 获得连 ...

  5. JDBC的CRUD操作之PreparedStatement的保存操作

    @Test/*** 保存操作*/public void demo1(){Connection conn = null;PreparedStatement pstmt = null;try{// 获得连 ...

  6. java代码对数据库数据的CRUD操作

    java代码对数据库数据的CRUD操作 前言 一.CRUD.JDBC是什么? 二.操作步骤 1.连接mqsql数据库.加载数据库驱动 2.对数据库中的表进行增.删.改.查 总结 前言 对于刚刚学习完J ...

  7. 数据库MySQL基础---JDBC开发步骤--JDBC封装工具类--PreparedStatement实现CRUD操作

    JDBC简介 1.JDBC定义Java数据库连接(Java Database Connectivity,简称JDBC):是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询 ...

  8. JDBC操作1:实现对数据库crud操作

    目录 1. JDBC概念 1.1 什么是JDBC 1.2 JDBC实现形式 1.3 jdbc操作API介绍 1.4 jdbc操作步骤(固定) 2. JDBC实现对数据库crud操作 2.1 第一步 加 ...

  9. MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

    上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对u ...

  10. 实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作

    转载自  实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作 供稿 | eBay ADI-Carmel Team 作者 | 金澜涛 编辑 | 顾欣怡 本文7309字,预计阅读时 ...

最新文章

  1. LeetCode Permutation Sequence(求排列中的第k个排列是什么)
  2. POJ3272 Cow Traffic
  3. 数据库中id类型和varchar类型的区别
  4. mybatis入门(六)----高级映射(一对一,一对多,多对多)
  5. vue 父组件 调用 子组件的方法
  6. 嵌入式数据库sqlite在ARM上的的移植和使用
  7. BZOJ 3450: Tyvj1952 Easy [DP 概率]
  8. 剑指offer之使数组的奇数在偶数前面
  9. form表单提交按钮点击事件先触发还是提交数据先触发_如何实现图片上传并保存到数据库?...
  10. 汇编学习--7.13--标志寄存器
  11. 获取Linux服务器信息脚本
  12. c# 收取邮件 解析_请教C#读取POP3邮件后,怎么获取正文的内容
  13. 新版 世界地图 中文版地图 国界地图 高清全彩矢量地图 CDR 2021年整理制作
  14. 【转】机器学习入门——浅谈神经网络
  15. 微信小程序开发前端基础知识
  16. Eclipse汉化版本和导入src
  17. 网线连接问题--部分短路
  18. 地平线黎明时分dlc评测_我从第一个玩法中学到的地平线零黎明的提示
  19. 互联网时代的春秋战国
  20. 若A为病态矩阵,B与A相似, 那么矩阵B是否也是病态矩阵?

热门文章

  1. CentOS7网络快速解决
  2. Graph Algorithm
  3. iOS 3D Touch功能
  4. config.txt for raspberry pi b 2
  5. Redhat 5.4 安装vsftp
  6. 修改Maven默认编译级别
  7. 帮助你生成分享和显示社交媒体网络按钮的jQuery插件 - #50C1AL
  8. xEasyApp之后端的介绍
  9. 整理收藏 ASP中常见脚本精华代码
  10. 自己动手写crud+分页 出现问题