Maven开发中使用注解替换映射文件

前言:
这里我使用Mybatis的框架,在dao层对数据库进行基本的CRUD,Mybatis好处就是对数据库操作的封装,很方便操作,通过操作javabean就可以操作数据库了.
在单表操作的情况下使用注解是最简单的,比起多一个映射文件来的轻松多了,但是平时我也还是习惯使用映射文件.
单表的操作就不举例了,那就来试一下一对多的关联表之间的查询

创建基本的工程环境,配置好config.xml以及domain层和dao层的数据

1.在pom.xml配置文件下引入数据库和mybatis一级日志等的相关依赖
2.配置注解映射(跟映射文件一样配置即可)
	<mappers>
        <package name="指定包的全限定路径"></package>
    </mappers>
    也可以使用<class>标签指定类  
 3.导入数据库配置文件.properties文件,简化数据库连接
 4.先确定需要查询的字段,以及表的字段,把需要查询的所有字段封装到一个javabean中
 5.创建一个javabean除了拥有自己的属性外还需要加入另外一个表的字段,但是另外一个表是对应多个的,所有是就以集合的形式存在
 public class User {
    private int id;
    private String username;
  ...
    private List<Account> list;
6.由于没有映射文件那就直接在dao层写注解
 @Results(id = "userMap", value = {
            @Result(id = true,property = "id",column = "id"),
            @Result(property = "username",column = "username"),
            ...
            @Result(property = "list",column = "id",many = @Many(
                    select = "cyh.test.dao.AccountDao.findAccountById",fetchType = FetchType.LAZY
            ))
    })
    @Select(value = "select * from user ")
    public List<User> findAllUser();
		这里使用注解替换了的映射文件,使用@Results注解代替映射文件的<resultMap>标签,使用@Result代替<result>标签和<collection>标签,@Many注解主要使用于一对多/多对多环境下,其相对的注解是@One使用一对一/多对一环境下.
		其实看起里似乎也没有简介多少,特别是在字段比较多的时候@Result注解的字段就会非常多,后续想办法解决,同时因为List集合无法使用OGNL表达式,所以只好拆分sql,如果不想拆分sql语句那就使用回原来的映射文件即可,又由于sql语句的拆分所以还得在另外一个javabean中写附加执行的sql语句,同时由于拆分语句执行就还可以加进来了延时加载的一些内容.

7.最后使用单元测试即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值