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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© YygYyg 初级黑马   /  2018-5-30 00:21  /  621 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

无话可说来一个笔记:
MYSQL多表回顾
               
        添加外键(外键的作用 保证数据完整性)
                alter table 从表 add foreign key (从表外键列名) references 主表 (主表主键列名)

       
        多表的关系
                1对1
                        外键绑定主键,外键唯一
                        主键绑定主键
                1对多
                        多的表创建外键指向1的主键
                多对多
                        创建中间表(2列),分别作为外键指向2个表的主键

        多表查询
                连接查询
                        内连接
                                隐式
                                        select * from 表1,表2 where 关联条件 and 判断条件
                                显式
                                        select * from 表1 join 表2 on 关联条件  where 判断条件
                                       
                        外连接
                                左外
                                        select * from 表1 left join 表2 on 关联条件 where 判断条件
                                右外
                                        select * from 表1 right join 表2 on 关联条件 where 判断条件
               
                子查询        select 中嵌套select 用()括起来
                       
                        any  
                                 >any 大于最小
                                 <any 小于最大

                        all
                                 <all  小于最小
                                 >all  大于最大

       
        事务

                事务四大特性

                        原子
                        隔离
                        一致
                        持久

                隔离级别
                       
                问题
                        脏读
                        不可重复读
                        虚读(幻读)

                       
JDBC
                概念
                        接口(java)
                        需要数据库厂商提供实现类(一个个数据库的驱动)
                        面向接口开发
               
                jdbc步骤
                                1.注册驱动
                                        Class.forName("com.mysql.jdbc.Driver");
                                2.获取连接
                                        Connection con = DriverManager.getConnection("jdbc:mysql://数据库服务器地址:3306/数据库名称","root","密码");
                                3.通过连接创建执行sql的对象
                                        Statement stat = con.createStatement();
                                4.执行sql获取结果
                                        查询
                                                ResultSet rs = stat.executeQuery("sql语句");
                                        增删改
                                                int row = stat.executeUpdate("sql语句");
                                5.对结果进行操作
                                        查询
                                                while(rs.next()){rs.getObject("列名")}
                                        增删改
                                                if(row>0) 执行成功 else 增删改失败了
                                6.释放资源
                                        rs.close()
                                        stat.close()
                                        con.close()
               
                api
                                DriverManager        (驱动管理和创建连接)
                                Connection                (和连接相关操作以及创建执行sql的对象)
                                Statement                (对sql进行操作)
                                ResultSet                (查询后的结果集封装)
                                        next()
                                        getObejct("列名")
                                        getObejct(index)
       
                sql注入(登录的案例)
                                使用PreparedStatement解决sql注入
                               
                               
                               
JUNIT java单元测试

        //方法修饰符必须是public
        //方法不能有返回值
        //方法不能携带参数
        //类名不能叫Test
        //JUNIT选择JUNIT4
       
       
读取bin目录下的配置文件

                Properties properties = new Properties();
                InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");
                try {
                        properties.load(is);
                } catch (FileNotFoundException e) {
                        e.printStackTrace();
                } catch (IOException e) {
                        e.printStackTrace();
                }
               
               
批处理
        addBatch
        clearBatch
        executeBatch()

0 个回复

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