发表于: 2019-11-06 23:31:54
1 965
今天完成的事:
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);
}
}
不知道这种方法是不是最优
明天的计划:
进行剩下的任务
看下师兄的任务总结,深度思考
遇到的问题
推进任务慢
收获
评论