Day1

JDBC原生操作

步骤:
1)导入mysql去顶驱动jar包
2)加载驱动
3)创建数据库连接对象
4)准备好sql语句
5)通过数据库连接对象获取执行对象:Statement
6)更新/查询(执行sql语句)
7)获取结果释放资源
//2)加载驱动  :为了保证向下兼容性:DriverManager :驱动管理类 不用他
Class.forName("com.mysql.jdbc.Driver") ;
3)创建数据库的连接对象
Connection conn = DriverManager.getConnection(               "jdbc:mysql:///数据库位置",               "账号",               "密码"       );
//4)准备好sql语句
String sql = "update  表名  set balance = balance - 500 where id = 1" ;
//5)通过数据库的连接对象获取执行对象:Statement
//6)执行.
int count = stmt.executeUpdate(sql);
//释放资源
stmt.close();
conn.close();

使用Statement执行DDL语

try {           //注册驱动           Class.forName("com.mysql.jdbc.Driver") ;           //获取数据库的链接对象            conn = DriverManager.getConnection(                   "jdbc:mysql://localhost:3306/myee_2104",                   "root",                   "123456"           );            //获取执行对象           stmt = conn.createStatement();                    //DML语句                              --    String sql = "INSERT INTO emp(id,NAME,gender,salary,join_date,dept_id) VALUES(6,'刘备','男',9000,'2021-1-15',2);" ;             -- 添加一行信息                   --     String sql = "DELETE FROM emp WHERE id = 6;";            -- 删除一行信息                  --      String sql = "UPDATE emp SET salary = salary + 1000 WHERE id = 6;";            -- 修改信息                                               int count = stmt.executeUpdate(sql);           //执行sql           int count = stmt.executeUpdate(sql);           System.out.println(count);              } catch (ClassNotFoundException e) {           e.printStackTrace();       } catch (SQLException e) {           e.printStackTrace();       }finally {           if(stmt!=null){               try {                   stmt.close();               } catch (SQLException e) {                   e.printStackTrace();               }           }
​           if(conn!=null){               try {                   conn.close();               } catch (SQLException e) {                   e.printStackTrace();               }           }       }   }
}

封装获取连接对象的功能

private static String url = null ;
private static String user = null ;
private static String password = null ;
private static String driver = null ;
​
private JdbcUtils(){} //构造私有化
static{
​       try {           //通过读取配置文件获取url,user,password,driver           //创建属性集合类对象           Properties prop = new Properties() ;           //读取配置文件夹           InputStream inputStream =                   JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");           prop.load(inputStream);           System.out.println(prop);
​           //通过key获取value           url = prop.getProperty("url");           user = prop.getProperty("user") ;           password = prop.getProperty("password") ;           driver = prop.getProperty("driver") ;
​           //加载驱动           Class.forName(driver) ;       } catch (IOException e) {          

原生JDBC操作;Statement与PreparedStatement;动态代理相关推荐

  1. 由数据库对sql的执行说JDBC的Statement和PreparedStatement

    1.每一种数据库都会尽最大努力对预编译语句提供最大的性能优化.因为预编译语句有可能被重复调用.所以语句在被DB的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要 ...

  2. 原生JDBC操作数据库流程

    1.class.forName()加载数据驱动 2.DriverManager.getConnection()获取数据库连接对象. 3.根据SQL或sql会话对象,有两种方式Statement.Pre ...

  3. JDBC中Statement与PreparedStatement的区别

    http://www.blogjava.net/redcoatjk/archive/2012/07/20/383583.html 1. statement每次执行sql语句,相关数据库都要执行sql语 ...

  4. spring中AOP动态代理的两种方式

    AOP动态代理的两种方式 Spring AOP动态代理的方式(spring的AOP默认是JDK Proxy) 浅谈这两种动态代理 JDK的动态代理,需要有实现接口 动态代理--JDK Proxy ⚫ ...

  5. Java高级编程细节-动态代理-进阶高级开发必学技能

    关于代理模式的话题有很多, 在开发中经常用到的应该是静态代理模式,能很好的去耦合. 动态代理是代理模式的另外一种实现. 动态代理的区别在哪里? 动态代理有什么好处? 今天我们来分析下这些问题. 回顾静 ...

  6. class转java_java动态代理实现与原理详细分析

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 一.代理模式    代理模式是常用的java设计模式, ...

  7. java动态代理实现与原理详细分析(代码层面解释了AOP的实现)

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 一.代理模式    代理模式是常用的java设计模式, ...

  8. java动态代理实现与原理详细分析(【转载】By--- Gonjan )

    [转载]By---    Gonjan  关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 一.代理模式 ...

  9. 静态代理,JDK动态代理,Cglib动态代理详解

    目录 一.代理模式 二.静态代理 三.动态代理 3.1 JDK动态代理 3.2 Cglib动态代理 四.两种动态代理区别 一.代理模式 代理模式(Proxy Pattern)是程序设计中的一种设计模式 ...

  10. 【Java高级程序设计学习笔记】深入理解jdk动态代理

    java的设计模式中有一项设计模式叫做代理模式,所谓代理模式,就是通过代理方来操作目标对象,而不是自己直接调用.代理又分为静态代理和动态代理,静态代理就是针对每个被代理对象写一个代理类,操作不够优雅: ...

最新文章

  1. “数学不好,干啥都不行!”骨灰级程序员:其实你们都是瞎努力
  2. 看完这些、你能体会到半导体与电路集成的伟大了吗?
  3. ASP.NET 自定义404错误页面
  4. Ansible — Overview
  5. 灰度图像阈值化分割常见方法总结及VC实现
  6. ListBox简单应用
  7. python3中的dict循环性能对比
  8. Vim 高亮显示单词并查找
  9. 分享Spring中Bean的4种依赖检查模式
  10. php面向对象引用文件,PHP面向对象之对象和引用
  11. python导入模块找不到什么原因_python模块以及导入出现ImportError: No module named 'xxx'问题...
  12. 关于STM32 __IO 的变量定义
  13. 质量工程师(QA)岗位初介绍
  14. 电商峰值系统架构设计
  15. TVS和ESD的区别
  16. 各个城市对应的code码
  17. 十年饮冰,难凉热血--毕业四年多的经历,致敬每一位IT男
  18. Mathorcup数学建模竞赛第六届-【妈妈杯】B题:小区车位分布的评价和优化模型(附特等奖获奖论文和Java代码)
  19. 开发、测试、测试开发
  20. python发送文件_Python发送邮件(最全)

热门文章

  1. Meta AI首个多模态自监督算法;牛津、谷歌等撰文综述AutoRL
  2. 郭健:Linux内存管理系统参数配置之OOM(内存耗尽)
  3. IE下载文件路径有中文的情况
  4. git # 请输入一个提交信息以解释此合并的必要性
  5. 什么是区块链之简单直白解释
  6. Visual Studio 2017各版本安装包离线下载
  7. 60秒了解互联网大小事
  8. Word控件Aspose.Words教程:使用 Java 处理 SXC 和 FODS 文件
  9. 【java】编程的四大特征和六大原则
  10. 猫头虎博主赠书二期:《Go黑帽子 渗透测试编程之道(安全技术经典译丛) 》