`

数据库入门梳理

    博客分类:
  • java
阅读更多

1.连接数据库,用connection对象

   Class.forName("com.mysql.jdbc.Driver");//注册驱动,固定代码

 

  String url="jdbc:mysql://localhost:3306/first";
  String user="root";
  String password="admin";

   Connection connection = DriverManager.getConnection(url, user, password);

//根据数据库的用户名,密码,地址创建一个connection对象

 

 

2.像数据库发送指令,用statement对象,statement对象由connection对象创建

    statement=connection.createStatement();

    String sql="  ";    //这里就是要执行的数据库指令

    statement.executeUpdate(sql);   //将数据库指令发送给数据库

 

3.ResultSet对象  得到数据库中的数据,ResultSet由statement对象创建

   ResultSet rs=statement.executeQuery(sql);

 while(rs.next())     //遍历数据,使用方法类似迭代器
  {
   System.out.println(rs.getString("name"));
  }

 

4.PreparedStatement对象,是statement类的一个子类

   4.1解决sql注入问题

   4.2 提高效率

   4.3 简化书写

 

5.Class.forName("com.mysql.jdbc.Driver");  //注册驱动

   注册驱动的目的:告诉操作系统我连接的是哪个数据库,操作系统根据这个调用不同的驱动程序

   为什么一句话就能注册驱动?

因为class.forname("xxxxx")让jvm加载一个类

加载的过程一定会执行类的静态代码块,而静态代码块中代码如下 :

 public class MyJDBCDriver implements Driver {
   static {
     DriverManager.registerDriver(new MyJDBCDriver());
  }
  }
 
也就是说执行Class.forName("com.mysql.jdbc.Driver");  也就执行了DriverManager.registerDriver(new MyJDBCDriver());
 
6.代理
//声明代理模板代码
Object xx=  Proxy.newProxyInstance(
                      Main.class.getClassLoader(),
                          new Class[]{Connection.class},
                       //声明执行句柄,只对close方法设置拦截
                              new InvocationHandler() {
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
//在这里执行被代理类的方法
}
           return null;
});
分享到:
评论

相关推荐

    亮剑.NET:ASP.NET商业级数据库网站开发实战

    本书写给具备入门基础的ASP.NET网站开发设计人员, 学习如何透过多层式的架构设计, 从ADO.NET的开始,建立动态数据库网站系统。 课程内容的主要目标,在于提供一个完整的学习蓝图, 让读者了解如何从无到有,建构一...

    车载诊断数据库-诊断问卷调查表与CDD关联关系.pdf

    -> 3、诊断问卷调查表中数据在编辑诊断数据库CDD时需要怎么做系统梳理? -> 4、诊断问卷调查表中主要包含有那些诊断内容?怎么基于其中诊断数据内容先编辑CDD模板CDDT? -> 5、日常bug汇总解决及其他解决方案

    数据分析基础入门课程.pptx

    明确目的和思路 梳理分析思路,并搭建分析框架,把分析目的分解成若干个不同的分析要点,即如何具体开展数据分析,需要从哪几个角度进行分析,采用哪些分析指标 01 数据收集 一般数据来源于四种方式:数据库、第三...

    数据分析入门.pptx

    数据收集 数据库 第三方统计工具 统计年鉴或报告 市场调查 数据分析入门全文共23页,当前为第10页。 数据埋点,就是在正常的功能逻辑中,预先添加统计代码,将自己需要的数据统计出来。 数据收集 自己研发,开发时...

    时间序列数据库武斗大会之TSDB

    本文所阐述的「时间序列数据库」,系笔者所负责产品CloudInsight对性能指标进行聚合、分组、过滤过程中的梳理和总结。通过上一章《时序列数据库武斗大会之什么是TSDB》的介绍,相信大家已经知道了什么是时序列数据库...

    时序列数据库武斗大会之TSDB名录Part2

    本文所阐述的「时间序列数据库」,系笔者所负责产品CloudInsight对性能指标进行聚合、分组、过滤过程中的梳理和总结。在前面《时序列数据库武斗大会之TSDB名录Part1》我们已经介绍了一些常见的TSDB,这里我们再对...

    Python爬虫知识点梳理

    作为零基础小白,大体上可分为三个阶段去实现,第一阶段是入门,掌握必备基础知识,比如Python基础、网络请求的基本原理等,第二阶段是模仿,跟着别人的爬虫代码学,弄懂每一行代码,熟悉主流的爬虫工具,第三阶段是...

    python入门到高级全栈工程师培训 第3期 附课件代码

    python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和...

    App后台开发运维和架构实践

    App后台开发运维和架构实践 通过阐述移动互联网中 App 后台开发的特点,梳理了 App 后台开发中会遇到的各个技术点,给出了生产环境常用软件的实战运维经验总结,剖析了常见 App 后台技术架构设计,为读者呈现一幅...

    java思维导图,精美文章配合xmind源导图学习,让java不再难懂 .rar

    作为java初学者来说,想要快速入门java,首先要了解自己应该学习哪些技术! 前期千万不要盲目直接啃书和教程,不然你看完也觉得自己没有学到什么,无论学习任何知识我们脑子里都要先有框架,然后着手重难点的学习 ...

    GO语言进阶.docx

    第03章 “云存储”系统之基于MySQL实现的文件数据库 3-1 MySQL基础知识.mp4 3-2 MySQL主从数据同步演示.mp4 3-3 文件表的设计及创建.mp4 3-4 编码实战:“云存储”系统之持久化元数据到文件表.mp4 3-5 编码实战...

    2017数学建模国赛+深圳杯优秀论文

    建模的同学应该多多涉猎不同的文献,中文的,外文的最好都阅读以下, 然后自己在草稿纸上画一些思维导图,对这些文献之间的关系进行一定 的梳理,然后结合本问题分析,看看什么地方需要修改,什么地方需要 精简,...

Global site tag (gtag.js) - Google Analytics