如果使用的方式开发DAO,但是这样存在以下问题:
原始DAO存在的问题
-Dao方法体存在重复代码:每个方法都要通过SqlSessionFactory创建SqlSession: 
SqlSession session = sqlSessionFactory.openSession(); 
- 通过session调用数据库操作方法时需要指定id,这里存在硬编码,不得于后期的开发维护: 
session.insert(“com.mybatis.mapping.userMapper.insertUser”, user); 

Mapper动态代理方式
Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类的方法体类似。 
Mapper接口开发需要遵循以下规范: 
1、 Mapper.xml文件中的namespace与mapper接口的类路径相同。 
2、 Mapper接口方法名和Mapper.xml中定义的每个statement的id相同 
3、 Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同 
4、 Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
根据以上规范: 
一、首先将所需jar包复制新建的lib文件夹下,全选之后buildpath

mybatis的动态代理

mybatis的动态代理
二、新建一个Source Folder 用于存放配置文件,这样使工程显得更加简洁明了
mybatis的动态代理
三、在src下创建根包一般是三层,采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名
mybatis的动态代理
四、将所需配置文件复制到config下:其中db.properties为数据库连接相关的参数的配置文件
log4j.properties为日志相关的配置文件、SqlMapConfig.xml为mybatis的核心配置文件
mybatis的动态代理
五、修改数据的链接数据
mybatis的动态代理
在mysql创建数据库的时候指定字符集,防止乱码
mybatis的动态代理
六、将数据导入数据库,生成两张表
mybatis的动态代理

mybatis的动态代理

mybatis的动态代理
七、SqlMapConfig.xml配置文件的修改
1、导入数据库相关链接的参数
mybatis的动态代理
2、配置pojo别名
mybatis的动态代理
3、数据库链接的配置
mybatis的动态代理
4、加载mapper配置文件
mybatis的动态代理
八、添加一个测试包:
mybatis的动态代理


最后呈现的工程目录如下:

mybatis的动态代理
UserMapper.xml中
mybatis的动态代理
mybatis的动态代理
SqlMapConfig.xml中
mybatis的动态代理
mybatis的动态代理
UserMapper.java中
mybatis的动态代理
测试:
mybatis的动态代理
mybatis的动态代理
mybatis的动态代理
mybatis的动态代理
测试结果如下:
根据id查询:mybatis的动态代理
根据用户名模糊查询:
mybatis的动态代理
增加用户:
mybatis的动态代理

mybatis的动态代理

更新用户:
mybatis的动态代理
数据库查看
mybatis的动态代理
------>
mybatis的动态代理
删除用户:
mybatis的动态代理
数据库查看:
mybatis的动态代理
------>
mybatis的动态代理

相关文章:

  • 2021-12-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-22
  • 2021-04-08
  • 2021-05-09
  • 2022-01-08
猜你喜欢
  • 2021-07-25
  • 2021-12-22
  • 2021-05-14
  • 2022-12-23
  • 2021-05-15
  • 2022-12-23
相关资源
相似解决方案