mybatis
lolichan
这个作者很懒,什么都没留下…
展开
-
mybatis插入空值
MyBatis 插入空值时,需要指定JdbcTypemybatis insert空值报空值异常,主要原因是当你传入null对象时mybatis无法获取对应的jdbcType,无法进行转换原创 2017-01-18 11:41:05 · 1505 阅读 · 0 评论 -
xml文档中的<![CDATA[]]>和转义字符
被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”。 此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,”<”、”>”、”&”等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如”&lt...原创 2018-01-25 14:41:47 · 674 阅读 · 1 评论 -
mybatis 基本类型传递参数
Mybatis查询sql传入一个字符串,int等基本数据类型做参数,需用如下写法,无论参数名是啥,都要改成"_parameter"如下:1 <select id="findByName" parameterType="string" resultType="com.domain.entity.FactoryEntity">2 SELECT * FRO...原创 2018-01-11 19:40:45 · 531 阅读 · 0 评论 -
mybatis oracle自增长和UUID两种主键生成策略
oracle数据库自增长没有mysql数据库简单,mysql可以在建表的时候设置auto_increment就好了,但oracle这样不行,oracle数据库必须要建立序列,然后在mybatis插入id时使用这个序列后,才能实现oracle id的自增长。下面是序列的创建语句: create sequence TBAL_OA_HOLIDAY_TYPE //序列名称incre...原创 2018-01-11 18:12:04 · 1615 阅读 · 0 评论 -
sql语句映射文件resultMap
转自:http://limingnihao.iteye.com/blog/781878 SQL 映射XML 文件是所有sql语句放置的地方。需要定义一个workspace,一般定义为对应的接口类的路径。写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: Xml代码 <mappers> &l...原创 2018-01-11 14:26:23 · 117 阅读 · 0 评论 -
动态sql语句
有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。使用Oracle的序列、mysql的函数生成Id。这时我们可以使用动态sql。 下文均采用mysql语法和函数(例如字符串链接函数CONCAT)。 3.1 selectKey 标签...原创 2018-01-11 14:05:54 · 277 阅读 · 0 评论 -
mybatisplus的使用
mybatis是将jdbc的驱动注册,connection、preparedstatement创建,参数设置,结果映射等进行包装。让开发者专注于sql代码的开发。mybatisplus则是进一步包装,替程序员将通用的CRUDsql代码生成。接下来讲讲怎么使用,现在数据库中新建表People有两个字段主键id int ,name varchar2(20):1.添加pom依赖 //依...原创 2018-01-03 16:27:12 · 537 阅读 · 0 评论 -
spring与mybatis的四种整合方式
转自:http://blog.csdn.net/xqhys/article/details/53994740 个人认为从第四第三然后第一第二的顺序看更好理解。其实第一种方式跟第二种方式差不多,都是为某些接口生成代理类(我猜的),然后自动注入sqlSessionFactory,至于配置sql语句的方式可以是xml配置文件或者是注解第三种和第四种差不多,都是注册SqlSessionTemp...原创 2017-12-28 20:18:41 · 223 阅读 · 0 评论 -
原生jdbc的几点问题和mybatis简介
截取自:http://www.cnblogs.com/selene/p/4604605.html 以下是原生jdbc连接数据库代码:public class JdbcTest { public static void main(String[] args) { // 数据库连接 Connection connection = null...原创 2017-12-28 16:31:57 · 326 阅读 · 0 评论 -
MyBatis学习总结(七)——Mybatis缓存
一、MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有 Cache 就将清空。 2. 二级缓存与一级缓存其机制相同,默认也是采用 Pe...原创 2017-12-27 10:30:22 · 64 阅读 · 0 评论 -
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
一、连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3...原创 2017-12-27 10:23:57 · 67 阅读 · 0 评论 -
MyBatis学习总结(六)——调用存储过程
一、提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性二、准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 in...原创 2017-12-27 10:18:45 · 73 阅读 · 0 评论 -
MyBatis学习总结(五)——实现关联表查询
一、一对一关联 1.1、提出需求 根据班级id查询班级信息(带老师的信息)1.2、创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。 1 CREATE TABLE teacher( 2 t_id INT PRIMARY KEY AUTO_INCREMENT, 3 ...原创 2017-12-27 10:17:34 · 68 阅读 · 0 评论 -
MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突
在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突。一、准备演示需要使用的表和数据CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), ...原创 2017-12-27 10:14:13 · 83 阅读 · 0 评论 -
MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
一、使用MyBatis对表执行CRUD操作——基于XML的实现1、定义sql映射xml文件 userMapper.xml文件的内容如下: 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"...原创 2017-12-26 19:58:00 · 94 阅读 · 0 评论 -
MyBatis学习总结(一)--快速入门
mybatis学习总结系列来自孤傲苍狼博客:https://www.cnblogs.com/xdp-gacl/p/4261895.html一、Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和...原创 2017-12-26 19:55:12 · 129 阅读 · 0 评论 -
mybatis对传入list、array等数据集合的处理
mybatis的mapper.xml文件中传入一个String参数时,在sql中参数名就是_parameter,如果传入一个list怎么处理呢?有两种方法 1.int delCardsByGuids(List<String> guids);//不管dao层参数时什么,xml文件中collection位置名为list<delete id="del...原创 2018-07-02 19:25:10 · 1053 阅读 · 0 评论