1、创建MySQL数据库:mybatisDemo和表:user

  详情参考:mybatis 详解(二)------入门实例(基于XML) 一致

2、建立一个Java工程,并导入相应的jar包,具体目录如下

  详情参考:mybatis 详解(二)------入门实例(基于XML) 一致

3、在 MyBatisTest 工程中添加数据库配置文件 mybatis-configuration.xml

  详情参考:mybatis 详解(二)------入门实例(基于XML) 一致

4、定义表所对应的实体类

  详情参考:mybatis 详解(二)------入门实例(基于XML) 一致

5、定义操作 user 表的注解接口 UserMapper.java

package com.ys.annocation;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update; import com.ys.po.User; public interface UserMapper {
//根据 id 查询 user 表数据
@Select("select * from user where id = #{id}")
public User selectUserById(int id) throws Exception; //向 user 表插入一条数据
@Insert("insert into user(username,sex,birthday,address) value(#{username},#{sex},#{birthday},#{address})")
public void insertUser(User user) throws Exception; //根据 id 修改 user 表数据
@Update("update user set username=#{username},sex=#{sex} where id=#{id}")
public void updateUserById(User user) throws Exception; //根据 id 删除 user 表数据
@Delete("delete from user where id=#{id}")
public void deleteUserById(int id) throws Exception; }

  

6、向 mybatis-configuration.xml 配置文件中注册 UserMapper.java 文件

  

  <mappers>
<mapper class="com.ys.annocation.UserMapper"/>
</mappers>

  

7、创建测试类

package com.ys.test;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test; import com.ys.annocation.UserMapper;
import com.ys.po.User; public class UserAnnocationTest {
//定义 SqlSession
SqlSession session =null; @Before
public void init(){
//定义mybatis全局配置文件
String resource = "mybatis-configuration.xml";
//加载 mybatis 全局配置文件
InputStream inputStream = CRUDTest.class.getClassLoader()
.getResourceAsStream(resource);
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//根据 sqlSessionFactory 产生 session
session = sessionFactory.openSession();
} //注解的增删改查方法测试
@Test
public void testAnncationCRUD() throws Exception{
//根据session获取 UserMapper接口
UserMapper userMapper = session.getMapper(UserMapper.class);
//调用selectUserById()方法
User user = userMapper.selectUserById(1);
System.out.println(user); //调用 insertUser() 方法
User user1 = new User();
user1.setUsername("aliks");
user1.setSex("不详");
userMapper.insertUser(user1); //调用 updateUserById() 方法
User user2 = new User();
user2.setId(6);
user2.setUsername("lbj");
userMapper.updateUserById(user2); //调用 () 方法
userMapper.deleteUserById(6); session.commit();
session.close();
}
}

注意:注解配置我们不需要 userMapper.xml 文件了  

mybatis 详解(三)------入门实例(基于注解)的更多相关文章

  1. mybatis详解(三)

    一,动态sql,where,trim,set和foreach parameterType的属性可以不用写 xml文件sql的书写 <select id="queryByParams&q ...

  2. mybatis 详解------动态SQL

    mybatis 详解------动态SQL   目录 1.动态SQL:if 语句 2.动态SQL:if+where 语句 3.动态SQL:if+set 语句 4.动态SQL:choose(when,o ...

  3. Android 之窗口小部件详解(三)  部分转载

    原文地址:http://blog.csdn.net/iefreer/article/details/4626274. (一) 应用程序窗口小部件App Widgets 应用程序窗口小部件(Widget ...

  4. MyBatis 详解(一对一,一对多,多对多)

    1.什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且 ...

  5. ggplot2作图详解:入门函数qplot

    ggplot2作图详解:入门函数qplot   ggplot2的功能不用我们做广告,因为它的作者Hadley Wickham就说ggplot2是一个强大的作图工具,它可以让你不受现有图形类型的限制,创 ...

  6. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

  7. 机器学习经典算法详解及Python实现--基于SMO的SVM分类器

    原文:http://blog.csdn.net/suipingsp/article/details/41645779 支持向量机基本上是最好的有监督学习算法,因其英文名为support vector  ...

  8. apt-get 命令详解(中文),以及实例

    apt-get 命令详解(中文),以及实例 一,什么的是apt-get 高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubunt ...

  9. Linux I/O 重定向详解及应用实例

    Linux I/O 重定向详解及应用实例 简解 > 输出 < 输入 >> 追加 & [> | < | >>]之前:输入输出; ls /dev & ...

随机推荐

  1. 发布.net mvc遇到的HTTP错误 403.14-Forbidden解决办法

    请检查一下"处理程序映射",里面是否有"ExtensionlessUrlHandler-Integrated-4.0",如果没有,请注册.net4.0 在运行里 ...

  2. [SDOI2010]所驼门王的宝藏

    题目描述 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族.被族人恭称为"先知"的Alpaca L. Sotomon是这个家族的领袖,外人也称其为"所驼门王". ...

  3. 使用 Socket.IO 开发聊天室

    前言 Socket.IO 是一个用来实现实时双向通信的框架,其本质是基于 WebSocket 技术. 我们首先来聊聊 WebSocket 技术,先设想这么一个场景: · 用户小A,打开了某个网站的充值 ...

  4. Android 4.0以后正确的获取外部sd卡存储目录

    刚解决这个棘手的问题 找了很久,随笔记下. 网上搜索 android 获取外部sd卡存储目录 普遍都是: 1) Environment.getExternalStorageDirectory() 这个 ...

  5. jQuery实现的快速查找

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Java注解--实现动态数据源切换

    当一个项目中有多个数据源(也可以是主从库)的时候,我们可以利用注解在mapper接口上标注数据源,从而来实现多个数据源在运行时的动态切换. 实现原理 在Spring 2.0.1中引入了Abstract ...

  7. React 在服务端渲染的实现

    原文地址:Server-Side React Rendering 原文作者:Roger Jin 译者:牧云云 React 在服务端渲染的实现 React是最受欢迎的客户端 JavaScript 框架, ...

  8. 2.如何搭建MQTT环境

    1.源码下载https://github.com/andsel/moquette 注意下载2016.2版本2.idea下载http://confluence.jetbrains.com/display ...

  9. Ext viewport的渲染

    Ext viewport的渲染 1.在app.js里创建 Ext.application({ name: 'MySecurity', extend: 'MySecurity.Application', ...

  10. maven编译常见错误解决方法整理

    程序包com.sun.xml.internal.ws.spi不存在 当maven项目里面有用到JDK内部的一些类,接口(如:com.sun.xml.internal.ws.spi.ProviderIm ...