上一篇演示了怎样使用XML来操作Mybatis实现CRUD,可是大量的XML配置文件的编写是很烦人的。因此

Mybatis也提供了基于注解的配置方式,以下我们来演示一下使用接口加注解来实现CRUD的的样例。

首先是创建一个接口。

package com.bird.mybatis.bean;

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.Update; public interface UserMapper {
@Insert("insert into users(name, age) values(#{name}, #{age})")
public int add(Users user); @Delete("delete from users where id = #{id}")
public int deleteById(int id); @Update("update users set name = #{name}, age = #{age} where id = #{id}")
public int update(Users user); @Select("select * from users where id = #{id}")
public Users getUserById(int id); @Select("select * from users")
public List<Users> getAllUsers();
}

然后一定不要忘了在conf.xml配置文件里,注冊这个类

<mappers>
<mapper resource="com/bird/mybatis/bean/userMapper.xml" />
<mapper class="com.bird.mybatis.bean.UserMapper"/>
</mappers>

以下就是使用这个类了

@Test
public void testAdd2() {
SqlSession openSession = factory.openSession();
UserMapper mapper = openSession.getMapper(UserMapper.class);
mapper.add(new Users(-1,"娃娃",99));
openSession.commit();
openSession.close();
}

Mybatis之使用注解开发CRUD的更多相关文章

  1. mybatis 注解开发CRUD

    mybatis 的常用注解说明 @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@Res ...

  2. mybatis学习——使用注解开发

    前言: 一个语句既可以通过 XML 定义,也可以通过注解定义.不过,由于 Java 注解的一些限制以及某些 MyBatis 映射的复杂性,要使用大多数高级映射(比如:嵌套联合映射),仍然需要使用 XM ...

  3. MyBatis框架之注解开发

    MyBatis注解开发 @Insert注解注解属性value:写入SQL语句 @Options注解实现添加新数据的主键封装注解属性useGeneratedKeys:使用生成的主键,配置为truekey ...

  4. MyBatis:使用注解开发

    面向接口编程 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大 ...

  5. 8、MyBatis之使用注解开发

    9.使用注解开发 mybatis最初配置信息是基于 XML ,映射语句(SQL)也是定义在 XML 中的.而到MyBatis 3提供了新的基于注解的配置.不幸的是,Java 注解的的表达力和灵活性十分 ...

  6. Mybatis学习笔记-注解开发

    面向接口编程 根本原因:[解耦],[可拓展],[更高规范性] 接口类型: abstract class interface 使用注解开发 简单语句可用注解开发(直接查询,列名与属性名相同) 本质:反射 ...

  7. 阶段3 1.Mybatis_12.Mybatis注解开发_4 mybatis注解开发CRUD的其他操作

    delete 51已经被删除掉了. 查询一个 findUserByName模糊查询 带百分号的情况 value这个参数是固定的 返回值为int类型的

  8. mybatis学习:mybatis的注解开发CRUD操作

    Dao层: public interface IUserDao { /** * 查询所有结果 * @return */ @Select("select * from user") ...

  9. 阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_3 基于注解的自定义再分析

    这里只需要 一是连接数据库的 二是映射的 注解是class的方式  dom4j技术获取xml的数据,这是xml的方式获取的下面几个关键的点 注解的方式回去dao类里面的几个主要的信息 User黄色的部 ...

随机推荐

  1. StatCounter

    StatCounter provides free customisable hit counters, visitor tracking, web analytics and website sta ...

  2. 浅析CentOS和RedHat Linux的区别

    CentOS的简介 CentOS是Community ENTerprise Operating System的简称,我们有很多人叫它社区企业操作系统,不管你怎么叫它,它都是Linux操作系统的一个发行 ...

  3. WSAEventSelect模型编程 详解

    转自:http://blog.csdn.net/wangjieest/article/details/7042108 WSAEventSelect模型编程 WSAEventSelect模型编程这个模型 ...

  4. 字符串类型的变量,也要进行alloc内存分配之后才能用

    nss_upperName =[[NSStringalloc]initWithString:labTopTitle.text]; nss_upperName =labTopTitle.text; // ...

  5. JasperReports+iReport在eclipse中的使用(转)

    一.介绍 1)它可以PDF,HTML,XML等多种形式产生报表或动态报表,在新版本还支持CSV,XLS,RTF等格式的报表: 2)它按预定义的XML文档来组织数据,来源多(如:关系数据库,Java容器 ...

  6. 【ELK】【ElasticSearch】3.es入门基本操作

    docker安装elasticSearch步骤 ================================================================== 本篇参考: htt ...

  7. Python:Hello World级别的SimpleDb

    背景 几乎所有的动态语言都支持成员的动态解析,一般的在解析不到成员的时候会给出一个hook点让你自定义一些有意思的实现..Net4之后增加了对动态类型的支持,在动态类型上就有这种机制. 模拟Simpl ...

  8. Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007)

    前言 使用ab压力测试时候出现报错apr_pollset_poll: The timeout specified has expired (70007),本篇总结了几个ab常见的报错和对应解决办法 当 ...

  9. 设置TOMCAT SESSIONID 字符长度和生成算法

    修改TOMCAT 默认的生成SESSION ID的算法和字符长度非常简单,只需修改context.xml中的<Manager>标签值,比如: <Manager sessionIdLe ...

  10. Activity间用Intent、Bundle、onActivityResult进行传值

    其实Activity间的传值就是通过Bundle,intent中也是自动生成了Bundle来传值,里面还有个onActivityResult()方法也可以传送数值. 如果一个Activity是由sta ...