JDBC 的三个Wmingxing - 亚美娱乐

JDBC 的三个Wmingxing

2019-02-08 11:12:49 | 作者: 昆谊 | 标签: 进程,目标,办法 | 浏览: 4105

代码重构DBUtils东西类
  1)衔接办理起来(static办法
  2)资源封闭

how:
1.注册驱动 三种办法(a. DriverManager.registerDriver(new com.mysql.jdbc.Driver())
           b. Class.ForName("com.mysql.jdbc.Driver") 常用这一种
           c. java -Djdbc.drivers=com.mysql.jdbc.Driver.FirstJDBC)
   三种办法的差异
          Class.ForName("..");是经过字节码文件 .class (在硬盘)在JVM上创立类目标
          DriverManager.registerDriver(new com.mysql.jdbc.Driver())的目标是 new 出来的
2.获取数据库衔接
   Connection conn = DriverManager.getConnection(url, username, password);
3.创立Statement目标
   Statement stmt = conn.createStatement();
   预编译句子  PreparedStatement pstmt = conn.createPreparedStatement(); 长处 进步功率?sql句子能够重复运用?结构相同 能够批量地处理数据,运用 ?作占位符,在履行sql句子之前有必要输入参数
       pstmt.setString(1,"..");
       .....
       pstmt.executeUpdate();
       pstmt.clearParameter();
   CallableStatement 
       调用存储进程(布置在数据库)真实的批处理
       procedure
         begin
            ....
         end
         
       缺陷: 可移植性比较差
4.履行(发送)sql句子
   select : ResultSet rs = stmt.executeQuerry(sql);
        ResultSet rs = pstmt.execute();
   update/insert into/ delete : 回来一个整数 (smst.executeUpdate(sql))
5.处理成果集
   select :  while(rs.next()){....}
6.封闭JDBC资源
   逆序封闭 rs stmt/pstmt conn        

 

处理成果集

select :  ResultSet rs = stmt.executeQuerry(sql)  一个Statement目标在某一时间只能有一个ResultSet目标,意味着有必要处理上一次查询成果后才能做下一个查询
update/insert into/ delete : int n = stmt.executeUpdate(sql) 假如履行的是DDL,则回来0


ResultSet接口

重载的两个办法:
1)String getString(int columnIndex)
2)String getString(String columnIndex)


在不知道sql句子类型的情况下   boolean execute(String sql) 回来布尔值
假如榜首成果是ResultSet目标,回来true
假如是更新计数或不存在任何成果,回来false


CallableStatement
效果:履行存储进程  (功率高,可移植性差)
设置OUT和IN参数: in:参数从Java程序传到数据库的存储进程 
         out:参数从数据库传到JAVA程序的存储进程
         

存储进程

不同数据库办理体系有各自界说的存储进程的办法

mysql
delimiter //

drop procedure procedure_name;//  删去已有的存储进程

create procedure procedure_name(in p_字段, ...)
begin
insert into table_name(字段, ...)values(p_字段, ...) 
commit;
select count(*) into total from table_name where 字段 = p_字段 and ... and ...
end;//

delimiter;


java程序调用存储进程

java数据类型和DBMS数据类型彼此对应


3NF

    

List行列和泛型的结合运用
 List 类型 list = new ArrayList 类型
 把数据添加到List行列中  list.add(数组名);
 
 
结构器(无参和有参)的效果?
  初始化

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表亚美娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    PHP源码加密sohu

    加密,文件,目录
  • 2
  • 3
  • 4

    最大接连子数组之和alibaba

    数组,时分,元素
  • 5

    python规范库学习系列1环球

    目标,函数,元素
  • 6
  • 7

    JDBC 的三个Wmingxing

    进程,目标,办法
  • 8
  • 9

    JAVA根底 之 GUIITeyefenghuang

    组件,按钮,文本框
  • 10

    JAVA根底 之 MathITeyesina

    职业,软件,计算机