在开始动态代理的原理讲解以前,我们先看一下集成mybatis以后dao层不使用动态代理以及使用动态代理的两种实现方式,通过对比我们自己实现dao层接口以及mybatis动态代理可以更加直观的展现出mybatis动态代理替我们所做的工作,有利于我们理解动态代理的过程,讲解完以后我们再进行动态代理的原理解析,此讲解基于mybatis的环境已经搭建完成,并且已经实现了基本的用户类编写以及用户类的Dao接口的声明,下面是Dao层的接口代码

 1 public interface UserDao {
 2     /*
 3     查询所有用户信息
 4      */
 5     List<User> findAll();
 6 
 7     /**
 8      * 保存用户
 9      * @param user
10      */
11     void save(User user);
12 
13     /**
14      * 更新用户
15      * @return
16      */
17     void update(User user);
18     /**
19      * 删除用户
20      */
21     void delete(Integer userId);
22 
23     /**
24      * 查找一个用户
25      * @param userId
26      * @return
27      */
28     User findOne(Integer userId);
29 
30     /**
31      * 根据名字模糊查询
32      * @param name
33      * @return
34      */
35     List<User> findByName(String name);
36     /**
37      * 根据组合对象进行模糊查询
38      * @param vo
39      * @return
40      */
41     List<User> findByQueryVo(QueryVo vo);
42 }
View Code

相关文章: