Mybatis(二)基于注解的入门实例

前言

上一篇简单的介绍了Mybatis的概念和基于XML来实现数据库的CRUD,这篇给大家实现基于注解的CRUD。

一、初始搭建

在基于注解当中前四步和上一篇基于XML是一样的,分别是:
1)创建数据库表
2)创建一个Java项目,并导入相应的jar包
3)项目中添加数据库配置文件 mybatis-configuration.xml
4)定义表对应的实体类

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

package com.lance.mybatis.annocation;

import com.lance.mybatis.bean.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

/**
 * @author lance(ZYH)
 * @function
 * @date 2018-07-07 22:13
 */
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,password,sex,birthday,address) value(#{username},#{password},#{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;
}

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

四、测试功能类

package com.lance.mybatis.test;

import com.lance.mybatis.annocation.UserMapper;
import com.lance.mybatis.bean.User;
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 java.io.InputStream;

/**
 * @author lance(ZYH)
 * @function
 * @date 2018-07-07 22:21
 */
public class UserAnnocationTest {
    //定义 SqlSession
    SqlSession session =null;

    @Before
    public void init(){
        //定义mybatis全局配置文件
        String resource = "com/lance/mybatis/config/mybatis-configuration.xml";
        //加载 mybatis 全局配置文件
        InputStream inputStream = UserAnnocationTest.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("江西老表");
        user1.setSex("不详");
        userMapper.insertUser(user1);

        //调用 updateUserById() 方法
        User user2 = new User();
        user2.setId(2);
        user2.setUsername("杉菜");
        userMapper.updateUserById(user2);

        //调用 eleteUserById() 方法
        userMapper.deleteUserById(6);

        session.commit();
        session.close();
    }
}

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

原文地址:https://www.cnblogs.com/zhangyinhua/p/9285974.html

时间: 2024-10-08 23:14:00

Mybatis(二)基于注解的入门实例的相关文章

SpringMVC应用------基于注解的入门实例

SpringMVC应用------基于注解的入门实例 目录 1.在 web.xml 文件中配置前端处理器 2.在 springmvc.xml 文件中配置处理器映射器,处理器适配器,视图解析器 3.编写 Handler 4.编写 视图 index.jsp 5.在浏览器中输入:http://localhost:8080/SpringMVC-003/hello 前两篇博客我们讲解了基于XML 的入门实例,以及SpringMVC运行的详细流程.但是我们发现基于 XML 的配置还是比较麻烦的,而且,每个

SpringMVC详解(三)------基于注解的入门实例

前两篇博客我们讲解了基于XML 的入门实例,以及SpringMVC运行的详细流程.但是我们发现基于 XML 的配置还是比较麻烦的,而且,每个 Handler 类只能有一个方法,在实际开发中肯定是不可能这样来进行开发的.那么这篇博客我们就讲解实际开发中用的最多的基于注解配置的SpringMVC配置. 本篇博客源码下载 项目结构为: 1.在 web.xml 文件中配置前端处理器 <?xml version="1.0" encoding="UTF-8"?> &

【Mybatis】基于注解实现增删查改和多参数列表查询

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 在[Mybatis]Mybatis入门概述及第一个Mybatis实例实现增删改查和[Mybatis]Mybatis接口编程方式实现增删改查演示了如何使用XML来操作Mybatis实现CRUD,但是大量的XML配置文件的编写是非常烦人的.因此Mybatis也提供了基于注解的配置方式,下面我们来演示一下使用接口加注解来实现CRUD的的例子. 一.创建数据库.数据表 use test; creat

Spring boot 学习六 spring 继承 mybatis (基于注解)

MyBatis提供了多个注解如:@InsertProvider,@UpdateProvider,@DeleteProvider和@SelectProvider,这些都是建立动态语言和让MyBatis执行这些语言使用基于注解的mybatis的方法,还是比较好用的. 一 首先是定义mapper, @ SelectProvider去声明类(CitySqlProvide)和方法名(findByState), public interface CityMapper { @SelectProvider(ty

基于注解SpringMVC+freemarker实例

基于注解的SpringMVC+freemarker demo实例 web项目图 web.xml文件 Xml代码   <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http:

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

这里只需要 一是连接数据库的 二是映射的 注解是class的方式  dom4j技术获取xml的数据,这是xml的方式获取的下面几个关键的点 注解的方式回去dao类里面的几个主要的信息 User黄色的部门就是要封装到哪里的数据.基于注解的开发,如何拿到User是最关键的 设计注解和泛型相关的知识 最终得到class的名称 原文地址:https://www.cnblogs.com/wangjunwei/p/11306401.html

dubbo-整合springboot、基于注解的简单实例

一.导包: <dependencies> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.2.0</version> </dependency> <dependency> <groupId>org.spr

mybatis学习之环境搭建&amp;入门实例

mybatis:3.2.8 数据库:mysql 项目结构 jar包准备: mybatis-3.2.8.jar mysql-connector-java-5.1.39-bin.jar 配置文件 1.jdbc.properties配置文件: jdbc.driverClassName = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://127.1.0.1:3306/db_mybatis jdbc.username=root jdbc.password=roo

实时计算框架之二:Storm之入门实例

预备.开火.瞄准-- 1 总结与提升 自1月份来,可谓是浮浮荡荡,一波三折呀. 先是参加了公司组织的创意马拉松大赛,虽说24小时内完成了作品,但是自己感觉上效果很差,自然成绩也是不高.通过这24小时持续的奋斗以及后来的各种产品描述等环节,发现了开发上的许多缺点.首先,对我们的产品进行了深入的认识和了解,也在产品之上,发现了更多可以发展走向成功的点子,这是我觉得最棒的一点:其次,短时间内和队员进行协作交流,生成产品,这之间的沟通非常重要:第三,选择C++作为24小时创作的语言,开发效率相对而言是非