MyBatis

Mybatis配置映射文件中parameterType的用法小结

岁酱吖の 提交于 2020-02-26 04:24:24
原创: 在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了 parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的 输入参数类型即可。parameterType有基本数据类型和复杂的数据类型配置。 1.基本数据类型,如输入参数只有一个,其数据类型可以是基本的数据类型,也可以是 自己定的类类型。包括int,String,Integer,Date,如下: (1)根据id进行相应的删除:<delete id="deleteById" parameterType="Integer"> (2)添加员工:<insert id="addEmp" parameterType="com.pojo.Employee"> 2.复杂数据类型:包含java实体类,map。 配置如: < select id= "selectTeacher" parameterType= "Map" resultType= "com.myapp.domain.Teacher" > select * from Teacher where c_id=#{id} and sex=#{sex} </ select > java代码如下: Map<String,String> map= new HasMap<String,String>();

Mybatis的输入映射和输出映射

孤者浪人 提交于 2020-02-26 04:23:45
一、输入映射   通过parameterType指定输入参数类型,类型可以是简单类型、HashMap、pojo的包装类型。   1、简单类型   映射文件: <!-- 查询sql语句配置使用select标签 id:该语句的唯一标识,通常称为statement的id parameterType:输入参数的类型 resultType:返回数据的类型,指定为Java的po类型,则将查询出来的单条记录映射为po对象。 --> <select id="findUserById" parameterType="int" resultType="com.jack.po.User" > <!-- 要执行的sql语句 #{} :表示一个占位符 #{value} :value表示接受的参数,名称为value,如果参数是简单类型,则名称可以随意起。 --> SELECT * FROM user WHERE id=#{value} </select>   接口文件: //根据id查询用户的接口 public User findUserById(int id) throws Exception;   测试文件: public void findUserById(){ //创建SqlSession对象 SqlSession sqlSession = sessionFactory.openSession();

Maven多模块下,扫描不到子模块mybatis xml文件的解决方法

爱⌒轻易说出口 提交于 2020-02-26 03:03:56
有一个Maven项目, 里面有common模块和主模块, 其中common模块中有若干个mybatis的mapper和xml, 结果主模块调用其mapper时提示出错, 原因是找不到mapper对应的xml映射关系. 查资料得知, 主模块的application.yml里面,配置mybatis的mapper-locations时, 用的是classpath, 只会扫描当前moduler的class, 而改为classpath*则会扫描所有jar 来源: oschina 链接: https://my.oschina.net/java1314/blog/3164831

mybatis-spring整合过程中AbstractMethodError

隐身守侯 提交于 2020-02-26 02:13:44
在整合mybatis和spring的demo中,依赖包均有导入,但控制台依然有报java.lang.AbstractMethodError的错误,刚开始以为是类型转换错误,仔细看却发现问题出现在org.mybatis.spring.SqlSession上,具体错误如下: Exception in thread "main" java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer; at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:85) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)

SQLException; SQL state [99999]; error code [17090]; 不允许的操作

此生再无相见时 提交于 2020-02-26 01:34:25
今天把使用MYSQL库的一个工程移植到ORACLE库上,更新数据时发现了一个问题,记录一下 oracle 中 主键 是不能 自增 的,就需要改使用的mybatis的配置 之前的配置 改后的配置 即将 use-generated-keys 属性值改为false 来源: oschina 链接: https://my.oschina.net/huangding/blog/3158599

Spring Boot(七):Mybatis 多数据源最简解决方案

淺唱寂寞╮ 提交于 2020-02-26 01:30:15
说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务。我们遇到的情况是后者,网上找了很多,大都是根据 Jpa 来做多数据源解决方案,要不就是老的 Spring 多数据源解决方案,还有的是利用 Aop 动态切换,感觉有点小复杂,其实我只是想找一个简单的多数据支持而已,折腾了两个小时整理出来,供大家参考。 废话不多说直接上代码吧 我们以 Mybatis Xml 版本为例,给大家展示如何如何配置多数据源。 配置文件 Pom 包就不贴了比较简单该依赖的就依赖,主要是数据库这边的配置: mybatis.config-location=classpath:mybatis/mybatis-config.xml spring.datasource.test1.jdbc-url=jdbc:mysql://localhost:3306/test1?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true spring.datasource.test1.username=root spring.datasource.test1.password=root spring.datasource.test1.driver-class-name=com.mysql.cj.jdbc

素小暖讲Spring Boot

自古美人都是妖i 提交于 2020-02-26 00:58:01
本系列是springboot的学习笔记,从入门到精通,不积跬步无以至千里,水滴石穿! 欲速则不达,欲达则欲速! 在学习springboot的过程中,发现了一个 springboot中文索引 做的非常不错,分享springboot的学习资源和开源软件,对springboot的学习帮助极大。 小编推荐学习视频: SpringBoot_最新教程_spring boot_springboot核心篇+springboot整合篇-_雷丰阳 Spring Boot实战:码匠社区 在学习 Spring Boot 之前我一直建议大家先看这三篇文章,了解一下微服务的启蒙。 一、微服务 2014年martin fowler提出微服务一词,并写了一篇博客,正式进入微服务时代。 微服务:架构风格(服务微化) 一个应用应该是一组小型服务;可以通过HTTP的方式进行互通; 单体应用:ALL IN ONE 微服务:每个功能元素最终都是一个可独立替换和独立升级的软件单元; 【译】微服务 - Martin Fowler 微服务架构的理论基础 - 康威定律 素小暖讲微服务 二、Spring Boot初级篇 Spring Boot(一):入门篇 Spring Boot(二):web应用开发,实现CRUD Spring Boot(三):Thymeleaf 使用详解 Spring Boot(四):如何优雅的使用

10、Mybatis Starter原理解析

谁说我不能喝 提交于 2020-02-26 00:53:05
1.1、Mybatis Starter作用 1) 自动检测工程中的DataSource 2) 创建并注册SqlSessionFactory实例 3) 创建并注册SqlSessionTemplate实例 4) 自动扫描mappers并将其注入BeanFactory,这样我们就直接可以@Autowired使用 1.2、Mybatis使用指南 下面介绍下在SpringBoot中引入Mybatis starter的步骤 1) 在pom文件中引入相关依赖,使用的SpringBoot的版本是2.1.7.RELEASE <dependency> <groupid>org.mybatis.spring.boot</groupid> <artifactid>mybatis-spring-boot-starter</artifactid> <version>2.1.0</version> </dependency> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>5.1.39</version> </dependency> 2) 使用mybatis逆向工程,现在pom中引入依赖 <build> <!--单元测试时引用src/main/resources下的资源文件-

Mybatis框架(一)Mybatis介绍

二次信任 提交于 2020-02-25 21:33:16
1、什么是Mybatis MyBatis 是一款优秀的持久层框架,属于ORM映射,它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。 2013年11月迁移到Github。 2、获取Mybatis maven仓库https://mvnrepository.com/ < dependency > < groupId > org . mybatis < / groupId > < artifactId > mybatis < / artifactId > < version > 3.5 .4 < / version > < / dependency > 中文文档https://mybatis.org/mybatis-3/zh/index.html 3、Mybatis优缺点 与JDBC相比,减少了50%以上的代码量。

ZhaoWei-2020-02-03

做~自己de王妃 提交于 2020-02-25 21:30:24
MybatisPlus Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具 ,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 MybatisPlus的特性 操作简单,仅仅只需继承一个BaseMapper就可以完成,实现单一,批量,分页等等一系列操作,很大的减少了开发负担,但这仅仅是Mybatisplus的冰山一角,当我们需要多条件查询的时候,就会使用到MybatisPlus中强大的条件构造器EntityWrapper; 无侵入 :Mybatis-Plus 在 Mybatis 的基础上进行扩展,只做增强不做改变,引入 Mybatis-Plus 不会对您现有的 Mybatis 构架产生任何影响,而且 MP 支持所有 Mybatis 原生的特性 依赖少 :仅仅依赖 Mybatis 以及 Mybatis-Spring 损耗小 : 启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 预防Sql注入 :内置 Sql 注入剥离器,有效预防Sql注入攻击 通用CRUD操作 : 内置通用 Mapper 、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 多种主键策略 :支持多达4种主键策略(内含分布式唯一ID生成器),可自由配置,完美解决主键问题 支持热加载 :Mapper