一、注解式开发

mybatis的注解主要替换映射文件。

二、基础语法

  • 注解首字母大写,因为注解与类、接口是同一级别的(类同一层级的:类,接口,注解,枚举)。一个注解,后台对应着一个@interface。
  • 在同一语法单元上,同一注解只能使用一次。

三、示例:

 import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectKey;
import org.apache.ibatis.annotations.Update; import com.jmu.bean.Student; public interface IStudentDao {
@Insert(value = { "insert into student(name,age,score) values(#{name},#{age},#{score})" })
void insertStudent(Student student); @Insert("insert into student(name,age,score) values(#{name},#{age},#{score})")
@SelectKey(statement = "select @@identity", resultType = int.class, keyProperty = "id", before = false)
void insertStudentCacheId(Student student);// 插入后获取 @Delete(value = "delete from student where id=#{XXX}")
void deleteStudentById(int id); @Update("update student set name=#{name},age=#{age},score=#{score} where id=#{id}") // 只用到一个value属性,可以不写
void updateStudent(Student student); @Select("select id,name,age,score from student")
List<Student> selectAllStudents();// 查询所有 @Select("select id,name,age,score from student where id=#{JJJ}")
Student selectStudentById(int id); // 根据id查询 @Select("select id,name,age,score from student where name like '%' #{XXX} '%'")
List<Student> selectStudentsByName(String name);// 模糊查询
}

com.jmu.dao.IStudentDao

MyBatis_注解式开发的更多相关文章

  1. 【转】Eclipse中设置ButterKnife进行注解式开发步骤 -- 不错

    原文网址:http://www.bubuko.com/infodetail-974262.html 最近在进行Android注解式开发的学习,正在尝试用ButterKnife.ButterKnife的 ...

  2. 总结切面编程AOP的注解式开发和XML式开发

    有段日子没有总结东西了,因为最近确实有点忙,一直在忙于hadoop集群的搭建,磕磕碰碰现在勉强算是能呼吸了,因为这都是在自己的PC上,资源确实有点紧张(搭建过程后期奉上),今天难得大家都有空(哈哈哈~ ...

  3. SpringMVC 注解式开发

    SpringMVC的注解式开发是指,处理器是基于注解的类的开发.对于每一个定义的处理器,无需再配置文件中逐个注册,只需在代码中通过对类与方法的注解,便可完成注册.即注解替换是配置文件中对于处理器的注册 ...

  4. Spring MVC注解式开发

    MVC注解式开发即处理器基于注解的类开发, 对于每一个定义的处理器, 无需在xml中注册. 只需在代码中通过对类与方法的注解, 即可完成注册. 定义处理器 @Controller: 当前类为处理器 @ ...

  5. 《SpringMVC从入门到放肆》十一、SpringMVC注解式开发处理器方法返回值

    上两篇我们对处理器方法的参数进行了分别讲解,今天来学习处理器方法的返回值. 一.返回ModelAndView 若处理器方法处理完后,需要跳转到其它资源,且又要在跳转资源之间传递数据,此时处理器方法返回 ...

  6. 《SpringMVC从入门到放肆》九、SpringMVC注解式开发(简单参数接收)

    上一篇我们学习了注解式开发的配置方式并写了一个小Demo跑起来.今天我们来学习注解开发的参数接收.处理器方法中的常用参数有五类,这些参数会在系统调用时由系统自动赋值,即程序员可以在方法中直接使用.具体 ...

  7. 《SpringMVC从入门到放肆》八、SpringMVC注解式开发(基本配置)

    上一篇我们结束了配置式开发,配置式开发目前在企业中用的并不是很多,大部分企业都在使用注解式开发,所以今天我们就来学习注解式开发.所谓SpringMVC注解式开发是指,处理器是基于注解的类的开发方式.对 ...

  8. 3.2.3 SpringMVC注解式开发

    SpringMVC注解式开发 1. 搭建环境 (1) 后端控制器无需实现接口 , 添加相应注解 Controller类添加注解 @Controller //该注解表将当前类交给spring容器管理 @ ...

  9. Hibernate5笔记9--Hibernate注解式开发

    Hibernate注解式开发: (1)注解式开发的注意点: Hibernate中使用注解,主要是为了替代映射文件,完成“类到表,属性到字段”的映射.  JPA提供了一套功能强大的注解.Hibernat ...

随机推荐

  1. HDU6400-2018ACM暑假多校联合训练1004-Parentheses Matrix-构造

    Parentheses Matrix Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Oth ...

  2. 极光开发者沙龙 JIGUANG MEETUP —— 移动应用性能优化实践

    活动背景 移动互联网时代,各大互联网公司都已将自己的产品和服务全面移动化,各类新产品功能都会优先在移动 App 上尝试. 应用性能作为影响用户体验最重要的因素,在开发过程中显得尤为重要. 用户网络环境 ...

  3. [web]深入理解Session和Cookie

    一.理解Cookie 由于http是一种无状态的协议,当用户的一次访问结束后,后端的服务器就无法知道下一次来访问的请求是不是上一次的用户了.那么Cookie的作用就是用户通过http访问一个服务器时, ...

  4. leetcode-119-Pascal's Triangle II(生成某一行的帕斯卡三角形)

    题目描述:   Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal's triangle ...

  5. UICollectionView 自定义横向排版

    .h #import <UIKit/UIKit.h> @interface JHCollectionViewFlowLayout : UICollectionViewFlowLayout ...

  6. [CQOI2015]标识设计

    Luogu3170 128MB过不去 LOJ2099 256MB能卡过 BZOJ3934 512MB怎么都过的去 求在\(30*30\)的方格上放\(3\)个\(L\)的方案 , 有障碍 拓展这条路的 ...

  7. Linux下安装渗透测试框架Metasploit

    我们先来说一种方法,直接从github来下载: git clone --depth=1 git://github.com/rapid7/metasploit-framework metasploit ...

  8. Jedis timeout

    处理Jedis timeout 异常 Jedis rClient = new Jedis("localhost"); 解决步骤 关闭linux防火墙 systemctl stop ...

  9. Linux I2C驱动程序设计

    1. Linux I2C子系统架构 (1)I2C核心(I2C-Core):I2C 总线和I2C 设备驱动的中间枢纽,它提供了I2C 总线驱动和设备驱动的注册.注销方法等 (2)I2C控制器驱动(ada ...

  10. C++标准库类模板(stack)和 队列(queue)

    在C++标准库(STL)中有栈和队列的类模板,因此可以直接使用 1.栈(stack):使用栈之前,要先包含头文件 : #include<stack> stack.push(elem); / ...