发表于: 2019-11-06 23:31:54

1 964


今天完成的事:


mysql动态语句

作用:在不同的场景下

只需要编写一个sql语句就能自动判断拼接sql语句,省去很大的功夫,减少重复性工作。


mybatis 动态查询常用标签

1、where、if标签

2、choose(when、otherwise)标签

3、set标签

4、trim标签

5、foreach标签

6、bind标签


aop

Spring AOP的一些基本概念

(1)Aspect(切面):通常是一个类,里面可以定义切入点和通知

(2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用

(3)Advice(通知):AOP在特定的切入点上执行的增强处理

(4)Pointcut(切入点):就是带有通知的连接点,在程序中主要体现为书写切入点表达式

(5)AOP代理:AOP框架创建的对象,代理就是目标对象的加强。Spring中的AOP代理可以使JDK动态代理,也可以是CGLIB代理,前者基于接口,后者基于子类

有五种类型的通知:

Before(前置):在方法被调用之前调用通知;

After(后置):在方法调用之后调用通知;(不管该方法是否执行成功)

After-returning(返回结果通知):在方法返回结果后;

After-throwing(异常通知):在方法抛出异常后;

Around(环绕):在方法调用之前和之后都会调用通知;


使用场景: 程序有共同的方法,为了简化程序,而将其连接起来


反射

反射机制是在运行状态中,对于任意一个类,都能知道这个类的所有属性和方法,对于任意一个对象,都能调用这个对象的属性和方法,这种动态获取信息及动态获取信息的能力称之为java语言的反射机制。


和new的区别     new不能调用私有属性       反射可以,但同时会暴露内部,降低安全性。


举例:


packagecn.com.ptteng;

classPerson {}

publicclassTestDemo {

publicstaticvoidmain(String[] args) throwsException {

Person per = newPerson() ; // 正着操作

System.out.println(per.getClass().getName()); // 反着来

}

}


今天先看了些小课堂


今天对代码进行了优化,把方法里具体的参数变成实体类的get方法


然后在测试类里new一个新实体的对象

用实体类的set方法  赋值  

再进行增删查改操作


   public void update() throws SQLException {
Student s=new Student();
       s.setId(2);
       s.setname("网上");
       //获取连接
       Connection conn = StudentUtil.getConnection();
       //sql语句
       String sql = "update bj  set name= ? where id=?";
       //执行并查询语句
       PreparedStatement ps = conn.prepareStatement(sql);
       ps.setString(1, s.getname());
       ps.setInt(2, s.getid());

       ps.executeUpdate();

       StudentUtil.closest2(conn, ps);
   }
}


不知道这种方法是不是最优


明天的计划:

进行剩下的任务

看下师兄的任务总结,深度思考

遇到的问题

推进任务慢


收获


返回列表 返回列表
评论

    分享到