在上篇2.mybatis入门实例(一) 连接数据库进行查询的基础上

1.添加Mapper接口:UserMapper接口,并使用mybatis的注解

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; import com.mlxs.mybatis.test1.User; /**
* 采用注解方式
* @author 魅力_小生
*
*/
public interface UserMapper {
@Insert("insert into users(name,age) values(#{name},#{age})")
public int add(User user); @Delete("delete from users where id=#{id}")
public int delete(int id); @Update("update users set name=#{name}, age=#{age} where id=#{id}")
public int update(User user); @Select("select * from users where id=#{id}")
public User get(int id); @Select("select * from users")
public List<User> getAll();
}

封装获取session的静态类:

public class MyBatisUtil {

    //创建sqlSessionFactory
private static SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(getConfig()); private static Reader getConfig(){
//加载conf.xml文件
try {
return Resources.getResourceAsReader("conf.xml");
} catch (IOException e) {
e.printStackTrace();
}
return null;
} /**
* 单例,对外开放,获取session工厂
* @return
*/
public static SqlSessionFactory getSessionFactory(){
return sessionFactory;
}
}

2.在conf.xml的mappers标签中添加上面的Mapper注解接口:

<mapper class="com.mlxs.mybatis.test2.UserMapper" />

3.测试

import org.apache.ibatis.session.SqlSession;
import org.junit.Test; import com.mlxs.mybatis.test1.User;
import com.mlxs.mybatis.util.MyBatisUtil; public class _Test3Annotation { @Test
public void addUser(){
//创建session,设置事务为true
SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
UserMapper mapper = session.getMapper(UserMapper.class);
int add = mapper.add(new User(0, "llp", 26));
System.out.println("add--->"+add);
session.close();
}
@Test
public void delUser(){
//创建session,设置事务为true
SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
UserMapper mapper = session.getMapper(UserMapper.class);
int del = mapper.delete(6);
System.out.println("del--->"+del);
session.close();
}
@Test
public void updateUser(){
//创建session,设置事务为true
SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
UserMapper mapper = session.getMapper(UserMapper.class);
int update = mapper.update(new User(7, "llp2", 27));
System.out.println("update--->"+update);
session.close();
}
@Test
public void getUser(){
//创建session,设置事务为true
SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
UserMapper mapper = session.getMapper(UserMapper.class);
User user = mapper.get(2);
System.out.println("user--->"+user);
session.close();
}
@Test
public void getAll(){
//创建session,设置事务为true
SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
UserMapper mapper = session.getMapper(UserMapper.class);
List<User> list = mapper.getAll();
System.out.println("list--->"+list);
session.close();
} }

3.mybatis注解的更多相关文章

  1. mybatis注解详解

    首 先当然得下载mybatis-3.0.5.jar和mybatis-spring-1.0.1.jar两个JAR包,并放在WEB-INF的lib目录下 (如果你使用maven,则jar会根据你的pom配 ...

  2. mybatis 注解快速上手

    一.mybatis 简单注解 关键注解词 : @Insert : 插入sql , 和xml insert sql语法完全一样 @Select : 查询sql, 和xml select sql语法完全一 ...

  3. mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类

    相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的 ...

  4. mybatis注解开发,动态sql

    在利用mybatis注解开始时,如果没有用到动态sql时,可以直接写 @Select("select * from order") List<XlSubOrder> g ...

  5. 使用mybatis注解@Options实现添加记录时返回主键值

    官网:http://www.mybatis.org/mybatis-3/index.html 在使用mybatis作为ORM框架时,我通常更喜欢使用注解而非xml配置文件的方式.业务场景:添加记录之后 ...

  6. SpringBoot整合Mybatis注解版---update出现org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found. Available parameters are [arg1, arg0, param1, param2]

    SpringBoot整合Mybatis注解版---update时出现的问题 问题描述: 1.sql建表语句 DROP TABLE IF EXISTS `department`; CREATE TABL ...

  7. SpringBoot使用Mybatis注解开发教程-分页-动态sql

    代码示例可以参考个人GitHub项目kingboy-springboot-data 一.环境配置 1.引入mybatis依赖 compile( //SpringMVC 'org.springframe ...

  8. Mybatis注解开发模糊查询

    Mybatis注解开发模糊查询 一般在使用mybatis时都是采用xml文件保存sql语句 这篇文章讲一下在使用mybatis的注解开发时,如何进行模糊查询 模糊查询语句写法(在@Select注解中) ...

  9. SpringBoot使用Mybatis注解进行一对多和多对多查询(2)

    SpringBoot使用Mybatis注解进行一对多和多对多查询 GitHub的完整示例项目地址kingboy-springboot-data 一.模拟的业务查询 系统中的用户user都有唯一对应的地 ...

  10. MyBatis注解Annotation介绍及Demo

     MyBatis注解Annotation介绍及Demo 2014-04-21 17:09:55 标签:Mybatis Annotation 注解 ResultMap SqlBuilder 原创作品,允 ...

随机推荐

  1. plsql 简单介绍

    plsql的安装: 1. 安装plsql developer 2. 下载,解压instantclient到任意目录 3. 在instantclient解压目录下,新建NETWORK目录,在该目录下建A ...

  2. Java总结第一次//有些图片未显示,文章包含基础java语言及各种语句

    一.java入门 1.Java入门学习框架: 2.常用的DOS命令: dir(directory) :    列出当前目录下的文件以及文件夹 md(make directory) :   创建目录 r ...

  3. Android NDK 开发(四)java传递数据到C【转】

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/41845701 前面几篇文章介绍了Android NDK开发的简单概念.常见错误及处 ...

  4. python 去除字符串中连续的空格,并使用其他的分隔符替代连续的空格

    例:1: filt函数用法及匿名函数lamda用法,详见http://www.cnblogs.com/apple2016/p/5657698.html join()用法详见http://www.cnb ...

  5. webpack笔记_(2)_Refusing to install webpack as a dependency of itself

    安装webpack时,出现以下问题: Refusing to install webpack as a dependency of itself npm ERR! Windows_NT npm ERR ...

  6. Linux Runtime PM介绍【转】

    转自:http://blog.csdn.net/wlwl0071986/article/details/42677403 一.Runtime PM引言 1. 背景 (1)display的需求 (2)系 ...

  7. NEON在Android中的使用举例【转】

    转自:http://blog.csdn.net/fengbingchun/article/details/37766607 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.  打开Eclip ...

  8. jQuery 文档操作方法(w3school)

    这些方法对于 XML 文档和 HTML 文档均是适用的,除了:html(). 方法 描述 addClass() 向匹配的元素添加指定的类名. after() 在匹配的元素之后插入内容. append( ...

  9. c#委托之最大

    public delegate int ceshi(object o1, object o2); static void Main(string[] args) { string[] a = { &q ...

  10. HttpConnection方式访问网络

    参考疯狂android讲义,重点在于学习1.HttpConnection访问网络2.多线程下载文件的处理 主activity: package com.example.multithreaddownl ...