Mybatis【使用注解开发】

这篇具有很好参考价值的文章主要介绍了Mybatis【使用注解开发】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注解的使用

1、编写接口并注解SQL

我们的SQL语句不再需要在 UserMapper.xml 这样的映射文件中区配置了,直接在接口处定义SQL语句即可。

import com.study.pojo.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;


public interface UserMapper {

    @Select("select * from mybatis.user")
    List<User> getUserList();

    @Select("select * from mybatis.user where id = #{id}")
    User getUserById(int id);
}

2、配置mybatis-config.xml

mappers 只需要指定接口即可。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//OTD Config 3.0//EN"
        "http://mybatis.org/schema/mybatis-3-config.dtd">

<configuration>

    <properties resource="db.properties"/>


    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>



        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="${driver}"/>
                    <property name="url" value="${url}"/>
                    <property name="username" value="${username}"/>
                    <property name="password" value="${password}"/>
                </dataSource>
            </environment>

        </environments>

    <mappers>
        <mapper class="com.study.dao.UserMapper"/>
    </mappers>

</configuration>

缺点

        使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪(比如结果集映射,你JavaBean的属性名必须和数据库字段一致,否则无法映射)。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。

注解实现CRUD

@Param的使用

@Param在Mybatis中一般用在多个SQL参数的情况,@Param()中的参数名必须对应UserMapper.xml中的参数名。

UserMapper接口类:

User getUserById(@Param("uid") int id);

UserMapper.xml: 

<select id="getUserById" resultMap="UserMap">
        select * from mybatis.user where id = #{uid}
    </select>

也就是说SQL中的参数#{参数名}必须对应@Param(参数名)中的参数名。

虽然我们使用注解实现时不需要UserMapper.xmL 但是我们也同样需要对应参数名

Mybatis【使用注解开发】,Mybatis,mybatis

 CRUD实现

1、设置自动提交事务

public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession(true);//可以自动提交事务 默认为true
    }

2、编写接口,增加注解

public interface UserMapper {

    @Select("select * from mybatis.user")
    List<User> getUserList();

    @Select("select * from mybatis.user where id = #{id}")
    User getUserById(int id);

    @Delete("delete from mybatis.user where id = #{uid}")
    int delUser(@Param("uid") int id);

    @Insert("insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{password})")
    int adduser(User user);

}

3、绑定接口 

一定要在mybatis-config.xml中绑定接口文章来源地址https://www.toymoban.com/news/detail-541163.html

<mappers>
        <mapper class="com.study.dao.UserMapper"/>
    </mappers>

4、测试

@Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        mapper.adduser(new User(3,"石敢当","121212"));

        List<User> userList = mapper.getUserList();

        for (User user : userList) {
            System.out.println(user);
        }

        sqlSession.close();
    }

关于@Param()注解

  • 基本类型的参数或者String需要加上
  • 引用类型不需要加
  • 如果只有一个基本类型可以忽略,但是建议加上
  • 我们在SQL中引用的就是我们这里@Param(参数名)中的参数名

到了这里,关于Mybatis【使用注解开发】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mybatis注解开发---增删改查

    目录 (1)insert测试方法 (2)delete测试方法 (3)update测试方法 (4)select测试方法  一定要记得注册映射

    2024年02月08日
    浏览(41)
  • Mybatis学习|注解开发、lombok

    无需再编写相应的Mapper.xml文件,直接将sql用注解的形式写在Mapper接口的对应方法上即可。 然后因为没有xml文件,所以要在mybatis-config.xml核心配置文件中注册这个Mapper接口,而不用去注册之前的Mapper.xml,这里其实如果用xml的话用这种注册方法也是可以的(确保接口名字和xml的名

    2024年02月10日
    浏览(42)
  • 详解MyBatis配置文件开发与注解式开发

    一.框架介绍 MyBatis 的主要特点 二.MyBatis工作流程 1. 初始化和配置 2. 创建 SqlSessionFactory 3. 获取 SqlSession 4. 映射器绑定 5. 执行操作 6. 处理结果 7. 提交或回滚事务 8. 释放资源 示例 注意事项  三.核心配置文件 四.配置文件开发 五.注解式开发 1. 配置 Mapper 扫描 2. 使用注解定义

    2024年04月27日
    浏览(36)
  • MyBatis多表查询和注解开发

    一对一查询的模型 用户表和订单表的关系为, 一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户 一对一查询的语句 对应的sql语句: 查询的结果如下: 创建Order和User实体 创建OrderMapper接口 配置OrderMappe

    2024年02月04日
    浏览(42)
  • Mybatis基于注解与XML开发

    SpringBoot是一个基于Spring框架的快速开发的脚手架,它能够帮助我们开发者快速搭建项目环境,并提供了一些建议的配置方式,降低了开发者程序的开发和部署难度。 MyBatis是Java的持久化框架,目的是为了使操作数据库更加方便、灵活、高效。可以通过Java注解和XML文件来映射

    2024年02月15日
    浏览(41)
  • Spring的注解开发-注解方式整合MyBatis代码实现

    之前使用xml方式整合了MyBatis,文章导航:Spring整合第三方框架-MyBatis整合Spring实现-CSDN博客 现在使用注解的方式无非是就是将xml标签替换为注解,将xml配置文件替换为配置类而已。 非自定义配置类                 与数据库建立连接的同时,扫描指定的mapper接口,实现实现

    2024年02月07日
    浏览(53)
  • web开发学习笔记(13.mybatis基于注解配置)

    1.使用mybatis基本步骤 2.引入依赖 3.配置application.properties   配置数据库连接信息 4.编写实体类和接口 5.编写测试类 6.或者使用stream流的方式进行输出 7.设置查看mapper层里的提示信息,方便操作 8.  使用jdbc连接数据库 9.数据库连接池 10.lombok,在编译时,会自动生成对应的java代

    2024年01月23日
    浏览(47)
  • MyBatis注解开发---实现自定义映射关系和关联查询

    目录 相关导读 一、使用注解实现自定义映射关系 1. 编写注解方法 2. 编写测试方法

    2023年04月09日
    浏览(40)
  • 5.2 Mybatis快速入门,轻松学会常用12种注解开发

    通过 《上文》,我们完成了 SpringBoot整合Mybatis ,那么接下来,我们就来使用Mybatis访问MySQL数据库! MyBatis的强大在于它的语句映射,它提供了 注解和XML映射 两种方式,都是为了减少我们的使用成本,屏蔽JDBC代码细节,节省代码,从而让我们更专注于SQL代码!本文主要使用

    2023年04月25日
    浏览(39)
  • MyBatis注解开发---实现增删查改和动态SQL

    目录 相关导读 1. 环境搭建 (1)创建持久层接口,并在接口方法上定义Sql语句  

    2023年04月18日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包