首页 > 其他分享 >Mapper代理开发

Mapper代理开发

时间:2023-04-01 09:44:42浏览次数:31  
标签:Mapper 代理 接口 SqlSession 开发 SQL apache import

Mapper代理开发步骤

1.定义与SQL映射文件同名的Mapper接口。并且将Mapper接口和SQL映射文件放置在同一目录下,一般配置文件放在resources文件夹下,可以在resources里面定义一个与java放置Mapper接口同路径的文件夹,在用maven编译后两个文件就会在同一个目录下。

 

 

2.设置SQL映射文件的namespace属性为Mapper接口全限定名

3.在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致。

 

 

4.编码

   通过SqlSession的getMapper方法获取Mapper接口的代理对象

    调用对应方法完成sql的执行

package com;

import com.mapper.UserMapper;
import com.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

//mapper代理开发
public class MybatisDemo2 {
    public static void main(String[] args) throws IOException {
//        加载mybatis核心配置文件,获取SqlSessionFactory对象
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//        获取SqlSession对象,用它来执行sql
        SqlSession sqlSession=sqlSessionFactory.openSession();
//        执行sql语句
//        List<User> users=sqlSession.selectList("test.selectAll");
//        获取UserMapper接口的代理对象
        UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
        List<User> users=userMapper.selectAll();
        System.out.println(users);
        sqlSession.close();
    }
}

  

标签:Mapper,代理,接口,SqlSession,开发,SQL,apache,import
From: https://www.cnblogs.com/zhang12345/p/17278108.html

相关文章

  • 搭建虚拟机和source insight开发环境
    开发中经常有需要看大平台代码的时候,这个时候代码太大在虚拟机里面用vscode看会非常卡顿,因此可以使用sourceinsight来解决这个问题,但是sourceinsight是win环境的,因此需要搭建一个虚拟机和win之间的桥梁,下面记录一下这个过程:主要是使用sourceinsight+samba访问虚拟机的linux......
  • 为什么软件开发周期总是预估的2—3倍?
    ①软件开发过程中总会出现一些没有预想到的问题,这就会使开发周期比预估的长一些。②计划赶不上变化,有时候开发软件过程中客户会变化要求,有时候成品达不到客户的要求也需要重做。③团队合作能力不够强,协调度不够高。④时间安排不合理。......
  • 2023.3.31团队开发
    今天思考了大致的方向:首先创建web端的服务,即用户可以实现二维码的扫码,选择自己在车上需要的产品然后将数据更新在数据库中。最后使用Android端;也就是在司机的手机上查看商品的购买情况购买情况通过大数据分析,预测等......
  • odoo 开发入门教程系列-模型之间的关系(Relations Between Models)
    模型之间的关系(RelationsBetweenModels)上一章介绍了为包含基本字段的模型创建自定义视图。然而,在任何真实的业务场景中,我们都需要不止一个模型。此外,模型之间的链接是必要的。人们可以很容易地想象一个模型包含客户,另一个模型则包含用户列表。你可能需要参考任何现有业务模型......
  • 项目一众筹网05_0项目阶段性总结,SSM框架_项目开发注意事项,,不要随意动框架预定好的结构
    系列文章目录文章目录系列文章目录一、框架搭建好之后,项目开发阶段,各就各位,尽量不要新建包名二、mybatis里面sql结束不要带分号三:实体的属性名最好跟数据库的字段保持一模一样,这样mybatis才不会因为大小写什么的而识别不了四:不是主键可以添加唯一约束吗五、idea里面的配置,需要注意......
  • 项目一众筹网05_02_[树形开发]菜单管理、API文档发布到web服务器、配置文件里面修改to
    系列文章目录文章目录系列文章目录08-页面显示树形结构-前端-使用真实数据09-准备zTree的API文档(因为现在没有图标)==API文档发布到web服务器上去==配置文件里面修改tomcat的默认端口号(只需改动3个地方)10-前端-显示图标-分析思路(-页面显示树形结构)11-前端-显示图标-代码实现(-页面......
  • 项目一众筹网05_01_[树形结构开发]菜单维护-树形结构基础知识、自关联、zTree的介绍和
    树形结构开发]菜单维护文章目录树形结构开发]菜单维护01-菜单维护-树形结构基础知识-上==在数据库中怎么去表示树形关系====其实这就是自关联====我们怎么识别根节点==02-菜单维护-树形结构基础知识-下03-页面显示树形结构-后端-逆向工程==开发的细节:如何避免空指针异常:初始化==04-......
  • 成都控制板开发:STC单片机IO引脚驱动不了光耦PC817的原因及解决(带PC817参数及驱动电路
    这是一个单片机通过光耦来信号隔离,驱动外部负载的电路。单片机为STC15系列,光耦为PC817,如图1,光耦的阳极输入端接到单片机的P20-P23引脚,光耦的输出DJ1-DJ4接到外部电路。但是在改变P20的电平时却出现了问题,并不能改变DJ1的电平,怎么回事呢?1、是限流电阻的问题吗?先看看光耦的参数......
  • process.env.NODE_ENV 开发环境配置详解(Vue项目)
    开发环境与生产环境下切换baseURL增加.env.development文件NODE_ENV='development'VUE_APP_BASE_URL='/api'增加.env.development文件NODE_ENV='production'VUE_APP_BASE_URL=''使用constaxiosRequest=axios.create({base......
  • Teamcenter_SOA开发:使用查询构建器查询数据
    Teamcenter中的查询构建器可以查询对象信息,今天使用ItemName这个查询来查询Teamcenter中的对象,并打印出对象的信息。搭建环境参见Teamcenter_SOA开发:使用SOA登录Teamcenter-huangym1-博客园(cnblogs.com)1//tcnx_projectexe.h2#pragmaonce3//MandatoryUFIn......