mysql注解开发
一、实体类属性别名设置二、一对一查询三、一对多四、二级缓存
一、实体类属性别名设置
@Select("SELECT *FROM user")
@Results(id
="UserMap",
value
= {@Result(id
= true, property
= "userid", column
= "id"),
@Result( property
= "username", column
= "username"),
@Result( property
= "userbirthday", column
= "birthday"),
@Result( property
= "usersex", column
= "sex"),
@Result( property
= "useraddress", column
= "address")
}
)
List
<User> findAll();
使用:
@Select("SELECT * FROM user WHERE username like #{username}")
@ResultMap("UserMap")
List
<User> findByName(String username
);
二、一对一查询
@Select("SELECT * FROM account")
@Results(id
="accountMap",value
= {
@Result(id
= true,property
= "id",column
= "id"),
@Result(property
= "uid",column
= "uid"),
@Result(property
= "money",column
= "money"),
@Result(property
= "user",column
= "uid",one
=@One(select
= "com.ect.dao.IUserDao.findById",fetchType
= FetchType
.EAGER
))
})
List
<Account> findAll();
三、一对多
@Select("SELECT *FROM user")
@Results(id
="UserMap",
value
= {@Result(id
= true, property
= "userid", column
= "id"),
@Result( property
= "username", column
= "username"),
@Result( property
= "userbirthday", column
= "birthday"),
@Result( property
= "usersex", column
= "sex"),
@Result( property
= "useraddress", column
= "address"),
@Result(property
= "accounts",column
= "id",many
= @Many(select
= "com.ect.dao.IAccoutn.findByUid",fetchType
= FetchType
.LAZY
))
}
)
List
<User> findAll();
四、二级缓存
转载请注明原文地址:https://ipadbbs.8miu.com/read-28590.html