浅谈Mybatis之mybaits常用注解
来源:互联网 发布:知柏地黄丸 性早熟 编辑:程序博客网 时间:2024/06/06 03:09
过去使用mybatis都是用xml来配置,在xml里写sql。一大堆xml配置文件,还没开始编程呢,就被xml干闹的头大,所以我是很不喜欢xml的。现在好了,有了简单好用的mybaits注解,我敢打赌,我绝对不会再用一大堆xml配置文件了!
基本注解
@Select 简单查询
@Select(" Select * from sellers ") @Results({ @Result(id = true, column = "id", property = "id"), @Result(column = "name", property = "name"), @Result(column = "manager_name", property = "managerName"), @Result(column = "tel", property = "tel"), @Result(column = "phone", property = "phone"), @Result(column = "qq_num", property = "qqNum"), @Result(column = "address", property = "address"), @Result(column = "remark", property = "remark"), @Result(column = "sell_arrange", property = "sellArrange") }) List<Sellers> findAllSellers();
@Insert 简单插入
@Insert(" insert into tb_user(name,sex,age) values(#{name},#{sex},#{age} " )int saveUser(User user);
@Update 简单更新
@Update("update tb_user set name= #{name} ,sex = #{sex},age =#{age} where id = #{id}")void modifyUser(User user);
@Delete 简单删除
@Delete("delete from sellers where id =#{id} ")void deleteById(Integer id);
高级注解
@SelectProvider
@SelectProvider(type = EmployeeDynalSqlProvider.class , method = "selectWithParam")List<Employee> selectWithParam(Map<String , Object> param);
@InsertProvider
@InsertProvider(type = SellerBynalSqlProvider.class,method = "insertSeller") void save(Sellers seller);
@UpdateProvider
@UpdateProvider(type = SellerBynalSqlProvider.class, method = "updateSeller") void update(Sellers seller);
@DeleteProvider
@DeleteProvider(type = EmployeeDynalSqlProvider.class , method = "deleteEmployee")void deleteEmployee(Map<String , Object> param);
@One
@Select(" select * from stuffs where id = #{id} ") @Results( value = { @Result(column = "name",property = "name"), @Result(column = "little_type",property = "littleTypes", //one指示我们,查询出来的结果只有一个。 one = @One( //select = sql语句 select="com.qingyunqifu.dao.LittleTypeDao.findLittleTypeById", //及时加载 fetchType = FetchType.EAGER)) } ) Stuffs findStuffById(Integer id);
@Many
@Select(" select * from sellers where id=#{id} ") @Results({ @Result(id = true, column = "id", property = "id"), @Result(column = "name", property = "name"), @Result(column = "manager_name", property = "managerName"), @Result(column = "tel", property = "tel"), @Result(column = "phone", property = "phone"), @Result(column = "qq_num", property = "qqNum"), @Result(column = "address", property = "address"), @Result(column = "remark", property = "remark"), @Result(column = "sell_arrange", property = "sellArrange"), @Result(column = "id",property = "stuffsList", //many指示我们,查询出来的结果有很多个 many = @Many( //select = sql语句 select = "com.qingyunqifu.dao.StuffDao.findAllStuffsBySellerId", //懒加载 fetchType = FetchType.LAZY)) }) Sellers findAllStuffsBySellerId(Integer id);
小结:
1、何时用@one何时用@many,取决于持久化对象中的属性是单一的还是List< T >。如果是单一的就用@one,是list就用@many。
2、多对多关系的查询,会用到子查询。
select * form tb_article where id IN (select article_id form tb_item where order_id = #{id})
3、@Results @Result 用来配置列名和属性
@Param 给参数取名字
@ Options附加配置
阅读全文
0 0
- 浅谈Mybatis之mybaits常用注解
- springboot之mybaits(非注解方式)
- mybatis常用注解
- Mybatis常用注解
- mybatis常用注解
- mybaits 继承 注解
- 浅谈Mybatis之mybatis是什么?
- springmvc+spring+mybatis常用注解
- Java注解之常用注解
- MyBatis学习 之 一、MyBatis简介与配置MyBaits+Spring+MySql
- MyBatis学习 之 一、MyBatis简介与配置MyBaits+Spring+MySql
- mybaits常用知识点
- MyBatis之注解开发-yellowcong
- JSF之常用注解
- Gson之常用注解
- Spring+MyBatis 企业应用实战读书笔记之三 Spring MVC的常用注解(一)
- Springmvc和Mybatis中常用的注解
- mybaits之动态sql
- C语言实验——打印菱形
- JAVA IO源码学习系列一(ByteArrayOutputStream)
- struts2数据封装(九)
- linux上实现getch()函数
- synchronized 和lock 区别
- 浅谈Mybatis之mybaits常用注解
- Windows下telnet 发送邮件
- 1013. 数素数 (20)
- 求最大公约数
- 1.3输出第二个整数
- 异常处理(三)-------C++异常类
- TabLayout的简单应用
- -----hdu 4815 -01背包- Little Tiger vs. Deep Monkey
- vue使用Better-Scroll实现纵向滚动