mybits 注解

来源:互联网 发布:怎么举报网络博客 编辑:程序博客网 时间:2024/06/06 03:41

             MyBatis注解位于org.apache.ibatis.annotations包下,常用注解如下

             1 select  映射查询sql语句 2 insert 映射插入语句  3  update 映射更新语句  4 delete 映射删除语句  5 result  在列和属性之间的单独结果映射,属性包括id  column one many,等  id是一个布尔值,表示是否用于主键映射,one是单独的联系和xml中<association>相似 ,mang对集合而言,和xml中的<collection>相似   4 results 多个结果映射(result)列表 。 5 optins提供配置选项的附加值,在映射语句上作为附加功能配置出现。6 当映射方法需要多个参数时,应用于映射器方法参数来给每个参数娶一个名字,否则多参数将会以他们的顺序位置和SQL语句的表达式进行映射

             注解使用  @select   @insert @update  @delete 可以完成常见的增删改查功能sql语句映射

             

public interface AUserMapper {@Insert("INSERT INTO USER(username,sex, birthday, address) VALUES(#{username},#{sex},#{birthday},#{address})")@Options(useGeneratedKeys=true, keyProperty="id")int saveUser(User user);@Delete("delete from user where id=#{id}")int removeUser(@Param("id") Integer id);@Update("update user set username=#{username}, birthday=#{birthday}, sex=#{sex}, address=#{address} where id=#{id}")void modifyUser(User user);@Select("select * from user where id=#{id}")@Results({@Result(id=true, column="id", property="id"),@Result(column="username", property="username"),@Result(column="birthday", property="birthday"),@Result(column="sex", property="sex"),@Result(column="address", property="address"),})User selectUserById(Integer id);@Select("select * from user")List<User> selectAllUser();}
@Testpublic void saveUserTest() throws Exception{//读取配置文件//全局配置文件的路径String resource = "SqlMapConfig.xml";InputStream inputStream = Resources.getResourceAsStream(resource);//创建SqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//创建SqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();//调用SqlSession的增删改查方法//第一个参数:表示statement的唯一标示AUserMapper mapper = sqlSession.getMapper(AUserMapper.class);User user = new User();user.setUsername("whe");user.setSex("i");user.setAddress("ds");mapper.saveUser(user);System.out.println(user.getId());sqlSession.close();}


  一对一   一个订单只有一个用户

         

public interface UserMapper {@Select("select * from user where id=#{id}")User selectUserById(Integer id);}
public interface OrderMapper {@Select("select * from orders where id=#{id}")@Results({@Result(id=true, column="id", property="id"),@Result(column="number", property="number"),@Result(column="createtime", property="createtime"),@Result(column="note", property="note"),@Result(column="user_id", property="user",    one =@One(select="com.itheima.ms.mapper.UserMapper.selectUserById",    fetchType=FetchType.EAGER))})Orders selectOrdersById(Integer id);}

           MyBatis 注解支持动态SQL , @selectprovider  @insertprovider @updateprovider  @deleteprovider 来帮助构建动态sql语句,org.apache.ibatis.jdbc.SQL用来拼接sql语句,Privoder方方法可接收ava对象,map对象

                 @SelectProvider(type=com.itheima.ms.mapper.UserSqlPrivoder.class, method="selectWithPar")
    List <User> selectUserById(Map<String, Object> map);
               

public class UserSqlPrivoder {public String selectWithPar(final Map<String, Object> map){return new SQL(){{SELECT("*");FROM("user");if (map.get("id") != null){WHERE(" id=#{id}");}}}.toString();}}



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 记不施工员证书号了怎么办 优易学车学员版登录不了怎么办 先科移动dvd主板坏了怎么办 离职单位不出劳动解除书怎么办 离职后一级建造师注册证怎么办 京牌货车报废挂靠公司不给办怎么办 二建挂靠注册证书到期了怎么办 二建证书挂靠公司不给钱怎么办 二建拿到证书原单位不解锁怎么办 凯云软件清单锁定只读了怎么办 苹果笔记本鼠标触摸板没反应怎么办 苹果笔记本键盘和触摸板失灵怎么办 苹果手机输入密码显示已停用怎么办 苹果7p手机刷机黑屏了怎么办 苹果5s来电接听屏幕卡顿怎么办? 手机摔了一下触屏失灵怎么办 小米手机摔了一下触屏失灵怎么办 苹果6sp触摸ic坏了怎么办 苹果4s屏幕摔裂了怎么办 新换的手机内屏颜色太亮怎么办 苹果手机摔了一下屏幕失灵怎么办 苹果手机6s屏幕坏了怎么办 苹果6s屏幕摔坏了怎么办 苹果手机屏幕进油了屏幕变暗怎么办 苹果手机不小心屏幕进油了怎么办 苹果6充电插口螺丝口坏了怎么办 苹果5s手机安装屏幕翘边怎么办 苹果手机摔了一下触摸屏失灵怎么办 苹果手机摔了下触摸屏失灵怎么办 苹果6老是屏幕失灵或者闪屏怎么办 华为荣耀8手触摸屏乱跳失灵怎么办 苹果5s屏幕有半边竖纹怎么办 苹果5s电源键坏了怎么办 苹果6s手机触屏失灵怎么办 不能取电池的手机触屏不灵怎么办? 7p主板触摸ic坏了怎么办 小米六手机摔了一下屏幕失灵怎么办 魅蓝5s触屏失灵怎么办 苹果手机键盘字母顺序乱了怎么办 红米手机进水后屏幕失灵怎么办 苹果7plus主屏按键坏了怎么办