A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-5-23 16:49 编辑



JDBC基础部分


1.java data base connectivity(Java 数据库连接),一种用于执行sql语句的api
2.驱动
        两个设备(应用)之间通信的桥梁;
3.JDBC规范
        SUN公司提供一套统一的规范(接口)。然后各个数据库生产商提供这套接口的实现。
这套接口规范就是JDBC的规范。(类似于多态,都实现相应的接口,使用的时候只需要了解
规范,通过规范去使用各家的数据库(多态))
3.JBDC是Java中最底层的操作数据库的规范


4.引入mysql 的驱动包
        1.数据库的驱动都是以jar包的形式引入的
        2.在项目下新建文件夹 lib
        3.将jar包存入lib文件夹
        4.build path 一下jar包,将它添加到构建路径;




5.connection  对象:


        PrepareStatement prestate = conn.prepareStatement(String sql);
        //实际中使用PreareStatement
6.Statement 类:
        Statement 是 preparedStatement 的父接口
        * 执行查询:
                ResultSet executeQurey(String sql);
        * 执行增删改
                int executeUpdate(String sql);
        * 执行查询,修改,添加,删除        
                boolean executeQurey(String sql);
7.ResultSet 类:
                它的对象为 : 查询结果集对象(封装了查询结果);
        *方法:
                 用于遍历的方法:
                 boolean next()   //将光标从当前位置向前移一行.
                * getXXX();方法通常会有一个重载的方法
                        * getXXX(int columnIndex); //根据列号获取
                        * getXXX(String columnName);  //根据列名获取/自己取的别名
                        * getObject(String columnName); //获得Object对象,需要手动转型


8.资源释放
        JDBC程序执行结束后,将与数据库进行交互的对象释放掉,
        通常是ResultSet,Statement,Connection


9.Java开发
        * 对扩展是开放的
        * 对修改源码是关闭的
10.Java解耦合
        配置文件
11.SQL注入漏洞
        解决办法不在JS前端,在后台Java程序
12.prepareStatement 占位符 ?
String sql = "select * from user where username = ? and password = ?";
        * PrepareSattement 参数传入个数要与预编译的sql语句的占位符数量一致;


13.面试题:        
        13.1Statement和prepareStatement区别
                * Statement有sql注入的漏洞
                * perpareStatement有一个预编译的过程
14.        perpareStatement模糊查询
                整个条件使用占位符 ? 代替;
        例:String sql = "select * from user where nickname like ?";
           pstmt.setString("%小%");
15.批量插入(是开发中常用)
16.实际开发中接触不到JBDC程序
        * 数据库交互会有框架,都是对原始的JDBC的封装.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马