博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用注解开发一对多和开启二级缓存
阅读量:3940 次
发布时间:2019-05-24

本文共 2335 字,大约阅读时间需要 7 分钟。

简单的CRUD

public interface IUserDao {
/*** 查询所有用户* @return*/@Select("select * from user")@Results(id="userMap",value= {
@Result(id=true,column="id",property="userId"),@Result(column="username",property="userName"),@Result(column="sex",property="userSex"),@Result(column="address",property="userAddress"),@Result(column="birthday",property="userBirthday")})List
findAll();/*** 根据 id 查询一个用户* @param userId* @return*/@Select("select * from user where id = #{uid} ")@ResultMap("userMap")User findById(Integer userId);/*** 保存操作* @param user,这里user存入之后user中有了id属性* @return 影响行数*/@Insert("insert into user(username,sex,birthday,address)values(#{
username},#{
sex},#{
birthday},#{
address})")//@Options(useGeneratedKeys = true , keyProperty = "id",keyColumn = "id"),这也可以让user有id属性@SelectKey(keyColumn="id",keyProperty="id",resultType=Integer.class,before = false, statement = {
"select last_insert_id()" })int saveUser(User user);/*** 更新操作* @param user* @return*/@Update("update user set username=#{
username},address=#{
address},sex=#{
sex},birthday=#{
birthday} where id =#{
id} ")int updateUser(User user);/*** 删除用户* @param userId* @return*/@Delete("delete from user where id = #{uid} ")int deleteUser(Integer userId);/*** 查询使用聚合函数* @return*/@Select("select count(*) from user ")int findTotal();/*** 模糊查询* @param name* @return*/@Select("select * from user where username like #{username} ")List
findByName(String name);}//通过注解方式,我们就不需要再去编写 UserDao.xml 映射文件了

一对多查询

@CacheNamespace(blocking = true)public interface IUserDao {
/** * 返回查询所有 * @return */ @Select("select * from user") @Results(id="userMap",value = {
@Result(id = true,property = "userId",column = "id"), @Result(property = "userName",column = "username"), @Result(property = "userSex",column = "sex"), @Result(property = "userBirthday",column = "birthday"), @Result(property = "userAddress",column = "address"), @Result(property = "accounts",column = "id",many = @Many(select = "cn.qut.dao.IAccountDao.findByUid",fetchType = FetchType.LAZY)) }) List
findAll(); /** * 根据id返回用户 * @return */ @ResultMap("userMap") @Select("select * from where id=#{id}") User findById();}

测试类:

在这里插入代码片

注释时的执行结果

准备了Preparing语句
执行了Preparing语句

转载地址:http://mciwi.baihongyu.com/

你可能感兴趣的文章
JS创建类和对象
查看>>
完整ASCII字符表(转)
查看>>
jquery事件重复绑定解决办法
查看>>
jQuery.extend 函数详解
查看>>
mysqli_query和mysql_query有何区…
查看>>
mysqli->multi_query()多条语句的…
查看>>
php引用(&)变量引用,函数引用,对…
查看>>
[转]yii执行流程(一 目录文…
查看>>
无需重启服务器让系统环境变量生效…
查看>>
配置CakePHP
查看>>
JQuery中$.ajax()方法参数详…
查看>>
JS 简易滚动条
查看>>
PHP __call()方法
查看>>
JS中的call()和apply()方法
查看>>
慎用PHP$_REQUEST数组
查看>>
详细解释PHP中header
查看>>
php中的迭代器Iterator的具体用法
查看>>
mysql操作技巧随笔--链表删除数据
查看>>
MySql在建立索引优化时需要…
查看>>
Mysql建表和索引使用规范
查看>>