在上篇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. [置顶] 一个懦弱的IT人

    对自己近来的学习和工作做一个总结,规划一下未来. 还是从大三暑假说起,稀里糊涂的被拉去参加电子设计大赛,熬过了一段痛苦的时间.原本我是学计算机的,对硬件不太熟悉.不过经过一段时间痛苦的断断续续的学习, ...

  2. pycharm常用快捷键

    Alt+Enter 自动添加包Ctrl+t SVN更新Ctrl+k SVN提交Ctrl + / 注释(取消注释)选择的行Ctrl+Shift+F 高级查找Ctrl+Enter 补全Shift + En ...

  3. 鸟哥的linux私房菜之磁盘与文件系统管理

    superblock:记录了该文件系统的整体信息包括inode/block的总量,使用量,剩余量以及文件系统的格式与相关信息. inode:记录档案的属性,一个档案占用一个inode,同事记录此档案所 ...

  4. source insight资源

    http://www.cnblogs.com/Red_angelX/p/3713935.html https://github.com/redxu/sihook

  5. 模拟namenode崩溃,使用secondarynamenode恢复

    方法一.使用namespaceID 1.在namenode节点上,将dfs.name.dir指定的目录中(这里是name目录)的内容情况,以此来模拟故障发生. [hadoop@node1 name]$ ...

  6. js中RHS与LHS区别

    为什么区分RHS与LHS是一件重要的事情? 因为在变量没有声明(在任何作用域都找不到该变量的情况下),这两种查询的行为是不一样的. function foo (a) { console.log(a + ...

  7. hdwiki中模板的使用说明

    HDwiki所有模版文件都在根目录view下的default文件里,以admin_开头的是后台的模版文件,其它不是以admin_开头的,就是所有的前台文件.具体列表如下:首页模版文件:  index. ...

  8. recycleview中使用checkbox导致的重复选中问题

    参考博文:http://www.myexception.cn/mobile/1852852.html 在使用RecycleView做仿微信图片选择器,其中条目中使用了checkbox,在选中时由于ho ...

  9. YTU 3002: 出栈顺序(栈和队列)

    3002: 出栈顺序(栈和队列) 时间限制: 1 Sec  内存限制: 128 MB 提交: 80  解决: 20 题目描述 给出一个入栈序列,和一个出栈序列,判断该出栈序列是否正确. 输入 输入包含 ...

  10. easyui datebox 只选择年月

    //将日期输入框变为年月的函数方法    var month=0;      $('#effectiveDate').datebox({        onShowPanel: function () ...