刷了一道简单力扣 求出数组中 两数之和符合目标值的两个元素 并返回元素下标 直接暴力遍历破解
Spring的事务保障数据层或业务层的数据库操作同成功或同失败
只会对Error异常
和RuntimeException异常
及其子类进行事务回顾,其他的异常类型是不会回滚的,对应IOException不符合上述条件所以不回滚
spring使用事务:首先引入事务数据源 然后在需要用事务的类或者方法上使用@trasactional注解再在配置类上加入@EnableTransactionManagement注解
Spring事务角色 事务管理员(servuce中的类注解)与事务协调员(数据层的方法)
可以使用@transaction注解的rollbackFor属性来加入回滚的异常(因为不补充的话 IO异常是默认不回滚的) 可以加入日志功能 不管操作是否成功 操作必须留痕
该案例需要设置事务传播行为 设置方式是在业务层logservice接口的transaction注解上加入propagation属性 = required_new 如果有事务 就新建一个事务 这样这个事务就跟操作分离的 不论操作有没有成功 都会记录下来 此处值得注意 对于日志 用了 try finally 即一定会运行
也就是说 就算
前面两个update操作都回滚了 但是log操作不会回滚
SpringMvc学习 接收请求、接收数据、响应结果 :三个重点注解: @Controller注解 设定Springmvc的核心容器bean @Restmapping注解设定当前控制器的请求访问路径 @ResposeBody 设置当前控制器方法响应内容为当前返回值
日期格式错误问题:
mysql学习: 组合查询union 可以联合两条sql 有些类似两个where条件 组合排序中 只能在最后一条select语句的最后 来添加排序条件 并且只能有一个排序条件 union会自动去重 但是union all就不会去掉重复的部分 会全部展示出来
全文本搜索Match()为指定搜索的列,Against()指定要搜索的表达式
在插入数据的章节中 发现可以插入检索出的数据
在做sql语句题时 发现了一种 有点傻呗的拼接两个select的方式 前一种查出p_name后一种将自己查出来的列名C_name改为p_name 这样他们就可以出现在同一列
将distinct加在字段名前可以去重
在牛客刷题过程中发现可以使用not like 来找出描述中未出现 toy 一词的产品
mysql中可以用substring来截取字段中的字符
计算某个Date是否为某年某月内的快捷用法
失误总结:count是求行数,sum是求和
此处通过排序和limit限制结果结合 来找出了不超过10美元的最贵商品
条件中也可以使用聚集函数 例如 sum函数
设计模式:合成复用原则 不推荐继承 A去用B 类的方法 如果A去继承B 则会使两者的耦合性变强 依赖是B的方法中有A作为参数传入进来 聚合是 B中有个set方法可以传入A 在B创建好的时候 就new出了一个A 这就构成了一个组合的关系 松耦合
各种关系: 依赖:在类中用到了对方 就称之为依赖 后面的关系都属于依赖关系范畴 泛化关系:继承其实就是泛化关系 实现关系 就是某个类实现了某个接口 他们之间就存在实现关系 关联关系 其实是类与类的联系 具有导航性 下图为关联关系 person具有idcard属性 而idcard又有一个使用人
聚合关系是关联关系的特例 是整体与部分的一种关系 就是电脑类中包含鼠标和显示器 但是鼠标和显示器并没有包含电脑 是单向的一种使用 组合关系 :直接new出来 当电脑创建 鼠标也创建出来 不可分离 则为组合关系 人与头的关系 身份证丢了可以补 头没了人也没了