Java使用JDBC来操作MySQL的基本实现

1.JDBC是什么:
  1.Java Database Connectivity:Java访问数据库的解决方案
  2.JDBC定义了一套标准接口,即访问数据库的通用API,不同的数据库厂商根据各自数据库的特点去实现这些接口。
  3.JDBC希望用相同的方式访问不同的数据库,让具体的数据库操作与数据库厂商实现无关,从而在不同数据库之间轻易的进行切换。
2.JDBC相关类与接口:
  驱动管理类:DriverManager
  连接接口:Connection
  语句对象接口:Statement
  结果集接口:ResultSet
3.接口:
Connection接口:根据URL连接参数找到与之匹配的Driver对象,调用其方法获取连接.
                Connection只是接口!真正的实现是数据库厂商提供的驱动包完成的。
Statement接口:Statement用于执行SQL语句,不同的SQL语句,要调用不同的方法来执行.增删改:executeUpdate()。查询:executeQuery().
ResultSet接口:执行查询SQL语句后返回的结果集,由ResultSet接口接收。
         常用处理方式:遍历/判断是否有结果
4.JDBC工作原理:
 1.Class.forName();//加载驱动
 eg:Class.forName("com.mysql.cj.jdbc.Driver");
 2.DriverManager,获取Connection连接
 eg:    //统一资源占位符
        String url="jdbc:mysql://localhost:3306/myschool?serverTimezone=GMT";
        String user="root";//账号
        String pwd="123456";//密码
        Connection coon = DriverManager.getConnection(url, user, pwd);
        //获取Statement接口
        Statement stmt = coon.createStatement();
 3.创建Statement,执行SQL语句
   int count =stmt.executeUpdate(sql);//增删改
   eg://增:新增一条张辽的数据
     int count =stmt.executeUpdate("insert into student(sname,birthday,ssex,classid) values('张辽','1999-9-12','男',1)");
      //删:删除姓名为张飞的数据
     int count = stmt.executeUpdate("delete from student where sname='张飞' ");    
      //改:将关羽的性别改为女
     int count = stmt.executeUpdate("update student set ssex='女' where sname='关羽'");
      //业务层判断
     if(count >0) {
            System.out.println("执行成功");
        }else {
            System.out.println("执行失败");
        }
 4.返回ResultSet,查询结果
 eg:  ResultSet query = stmt.executeQuery(sql);
    //查询:查询学生表的所有数据
        ResultSet query = stmt.executeQuery("select * from student");
         while(query.next()) {
             int sid = query.getInt("sid");
             String sname = query.getString("sname");
             String ssex = query.getString("ssex");
             int classid = query.getInt("classid");
             System.out.println(sid+","+sname+","+ssex+","+classid);
         }
 5.释放资源
  数据库操作执行完毕以后要释放相关资源
1.Connection
2.Statement
3.ResultSet

  eg:  query.close();
       stmt.close();
       coon.close();
 
 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值