javaBean

javaBean是一种规范——所有属性为private并且使用getter和setter方法访问该属性(getter和setter方法符合命名规范),具备无参构造,并且实现Serializable(可序列化)接口。
完成以上的所有规范,该类就是javaBean。

OOP(Object Oriented Programming)

面向对象编程是一种计算机编程架构。强调的是具有某些特定功能的对象。

spring IOC

控制反转,管理javaBean

控制反转:简而言之就是将new对象等一系列操作由IOC去进行管理,而用户只需要提供配置文件给springIOC
好处:常规生成对象是由用户去new出来的,耦合程度高,以后不方便修改代码,使用了控制反转之后,耦合降低(修改的时候只需要修改配置文件)。

spring AOP

面像切面编程,事务控制

为了应对OOP面像对象编程的缺陷,比如出现一些业务场景的异常情况,为了保证数据的一致性,从而有了面向切面编程的概念,由管理该切面异常而做出一些事务处理的控制。
异常情况如:
用户进行下单支付,这时会有一些操作
1、确认银行账户打款到账
2、修改订单状态
3、物品发送给用户
在处理这个业务的时候,用户完成了1的操作,而在2因为服务器网络不稳定原因导致处理失败,这会用户打款之后并没有收到物品。

Mybatis

数据持久层框架,我们可以用POJO(Plain Ordinary Java Object)和这这张表的字段对应起来,mybatis通过某种方式将POJO和数据库字段进行关联映射,我们就可以通过操作POJO来完成相关的业务逻辑

SSM(Spring + Spring MVC + MyBatis)

spring IOC:承担一个资源管理、整合、即拔即插的功能。
spring AOP:提供切面管理,特别是数据库事务管理的功能。
spring MVC:用于把模型、视图和控制器分层,组合成一个灵活的系统。
mybatis:提供一个数据库访问的持久层,通过MyBatis-Spring项目,它就能和spring无缝连接。
redis:作为缓存工具,提供高速处理数据和缓存的功能,极大提高系统的性能和响应能力。

JDBC两种写法

第一种写法:

  1. String sql = "select * from users where name=? and password=?"
  2. String valueOne = "admin"
  3. String valueTwo = "password"
  4. PreparedStatement preparedStatement = connection.prepareStatement(sql);
  5. preparedStatement.setString(1,valueOne);
  6. preparedStatement.setString(2,valueTwo);

第二种写法:

//1.获取用于向数据库发送sql语句的statement
Statement statement  = conn.createStatement();
//2.向数据库发sql
String sql = "select id,name,password,email,birthday from users";
statement .executeQuery(sql);

避免sql注入问题:
“1 or 1=1”
因此建议用第一种写法,可有效避免该问题