jdbc


  1. 预状态通道下的增删改查。
  2. 通用模板,我们不关心你操作数据表是谁,因为sql语句就是传递过来的。
  3. 我们不关心你链接的数据库是谁,因为我们这些链接参数是可配置的。jdbc.properties(属性文件)
  4. 把链接参数定义为全局的静态变量。
  5. 把链接的接口变量也定义在全局。
  6. 在静态的初始化块中,做配置文件的加载,得到链接参数的值并且赋值给全局的静态变量。
  7. 注册驱动,在我们的这个程序只需要加载一次。
  8. 还把链接和通道的创建独立出一个方法,甚至是关闭资源也是独立的一个方法。
  9. 在这些独立的操作方法中,都是有互相调用的关系。

  10.   基于状态通道的查询
  11.   基于状态通道的操作
  12. 配置文件所在位置,如果你放在了工程中src下,加载这个文件的时候就要使用的getClassLoader();如果你的配置文件在对应的包下,那就直接在当前类的Class 的对象下的加载位置去找到文件对象。
  InputStream in = JdbcTemplate. class .getClassLoader() .getResourceAsStream( "jdbc.properties" );
  InputStream in = JdbcTemplate. class .getResourceAsStream( "jdbc.properties" );


  1. jdbc 的事务操作。事务就一个一次要完成的一个或者多个动作(事情)。
  2. jdbc 来讲,每一次打开一个链接,就已经开启了一个事务,在一个链接上可以开启多个事务,每一次事务提交就是下次事务的开启。
  3. jdbc 事务在默认情况下是自动提交的。也就是说我们每次做execute(),executeUpdate(),这样的方法调用的时候,就会自动提交。conn = DriverManager.getConnection(url, username, password); conn.setAutoCommit(true);
  4. 事务一般是新增修改和删除的。对查询没有影响。
  5. 如果没有提交,就是说明你在这个事务中所做的事情只是存储在缓存,而没有持久化到数据库的数据表中。
  6. 手动配置我们的提交方式,改为false。
conn = DriverManager. getConnection ( url , username , password );
  // jdbc 的事务设置
conn .setAutoCommit( false );
 7.如果设置为false,那么我们针对现在的通用类进行对数据表的操作,是不起作用的,除非你进行手动的提交。
/**
     * 事务提交
     */
     public   void    myCommit(){
        try {
            conn .commit();
       } catch (SQLException e ) {
            e .printStackTrace();
           System. out .println( "事务提交失败!" );
       }
    }

8、 批处理操作。一次性执行多条sql语句,在这样的操作下,事务操作才有意义。事务是两个动作是一个事情(事务),在这个事务中两个或者多个动作,要么都成功,要么都失败。、、
9、要保证数据的一致性,完整性。

你可能感兴趣的:(sql,java语言,学习)