MyBatis

MyBatis JdbcType 与Oracle、MySql数据类型对应关系详解

痞子三分冷 提交于 2020-11-25 03:49:15
转自:http://blog.csdn.net/loongshawn/article/details/50496460 转载请注明来源-作者@loongshawn: http://blog.csdn.net/loongshawn/article/details/50496460 1. Mybatis JdbcType与Oracle、MySql数据类型对应列表 Mybatis JdbcType Oracle MySql JdbcType ARRAY JdbcType BIGINT BIGINT JdbcType BINARY JdbcType BIT BIT JdbcType BLOB BLOB BLOB JdbcType BOOLEAN JdbcType CHAR CHAR CHAR JdbcType CLOB CLOB CLOB–>修改为TEXT JdbcType CURSOR JdbcType DATE DATE DATE JdbcType DECIMAL DECIMAL DECIMAL JdbcType DOUBLE NUMBER DOUBLE JdbcType FLOAT FLOAT FLOAT JdbcType INTEGER INTEGER INTEGER JdbcType LONGVARBINARY JdbcType LONGVARCHAR LONG VARCHAR

mybatis xml 映射文件 sql include 的用法

烂漫一生 提交于 2020-11-24 08:49:29
mybatis xml 文件中对于重复出现的sql 片段可以使用标签提取出来,在使用的地方使用标签引用即可具体用法如下: <sql id="someSQL"> id,name </sql> <select id="selectSome" > select <include refid="someSQL"/> from t </select> 在中可以使用${}传入参数,如下: <sql id="someSQL"> ${tableName}.id,${tableName}.name </sql> <select id="selectSome" > select <include refid="someSQL"><property name="tableName" value="t"/></include> from t </select> 对于多个xml文件需要同时引用一段相同的 可以在某个xml 中定义这个 sql 代码片段,在需要引用的地方使用全称引用即可,例子如下: ShareMapper.xml <mapper namespace="com.company.ShareMapper"> <sql id="someSQL"> id,name </sql> </mapper> CustomMapper.xml <mapper namespace="com.company

SpringBoot+MyBatis配置多数据源

北战南征 提交于 2020-11-24 04:47:57
SpringBoot 可以支持多数据源,这是一个非常值得学习的功能,但是从现在主流的微服务的架构模式中,每个应用都具有唯一且准确的功能,多数据源的需求很难用到,考虑到实际情况远远比理论复杂的多,这里还是深入学习一个Mybatis的多数据源的配置,代码偏向于实战,提供Git地址,以供下载测试. https://gitee.com/zhoutao825638/Sprinboot_mybatis_ds.git <!--more--> 数据库脚本 我们首先声明记录一下数据库脚本创建了两个数据库,test1和test2 ,并且分别在不同的数据库中创建了student和lesson表. CREATE DATABASE `test1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ; USE `test1`; CREATE TABLE `student`( `id` VARCHAR(12) PRIMARY KEY, `name` VARCHAR(36) NOT NULL , `age` INTEGER DEFAULT 0 ); -- 插入数据 INSERT INTO test1.student (id, name, age) VALUES ('1', '张梦为', 1); INSERT INTO test1.student (id,

Springboot2.0访问Redis集群

六眼飞鱼酱① 提交于 2020-11-24 03:28:20
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作高性能的key-value数据库、缓存和消息中间件,掌握它是程序员的必备技能,下面是一个springboot访问redis的demo。 新建一个springboot项目,这里取名spring-boot-demo 项目结构目录如下 pom.xml文件内容 1 <? xml version="1.0" encoding="UTF-8" ?> 2 < project xmlns ="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > 5 < modelVersion > 4.0.0 </ modelVersion > 6 7 < groupId > com.carry </ groupId > 8 < artifactId > spring-boot-demo </ artifactId > 9 < version > 0.0.1-SNAPSHOT </ version > 10

一个失败的微服务项目

只愿长相守 提交于 2020-11-24 02:21:38
一个失败的微服务项目,这是我项目的总结.失败的主要原因是对微服务的滥用,本文将总结微服务在本项目中暴露出的缺点 项目简介 这是一个休息游戏项目,主线是喂养一只可爱的小狗, 通过玩内置小游戏,或者做任务积累狗粮.在整个过程中会随机掉落红包, 红包可以之间兑换少量RMB,游戏以用户点击广告作为主要收入, 用户转化是另一部分收入 项目概况 项目分游戏端和管理端 游戏端: 游戏大厅(主界面,包含:玩家信息\邀请\站内信\成长记录\签到等) 排行榜 幸运大盘 成长任务 多款小游戏 管理端: 基础权限管理 用户管理 提现 报表 版本管理 广告与渠道 维护 人员配置 策划 x2 美术 x3 音效 x1 游戏前端(Cocos) x3 游戏后端(java) x2 管理前端(vue) x2 管理后端(java) x4 测试 x2 运维 x2 运营 x1 后端架构 spring-cloud Hoxton.SR3作为微服务框架 nacos 做服务注册发现以及配置中心 swagger2 生成doc redis 做缓存 mysql mybatis + mybatis-plus 做持久层 kafka 做消息中间件 jwt 生成token elasticsearch 做报表 每个微服务由两个模块组成,一个模块api接口,一个模块对接口进行实现, api接口用@FeignClient进行注解

kalilinux 渗透测试笔记

落爺英雄遲暮 提交于 2020-11-23 21:42:32
声明:本文理论大部分是苑房弘kalilinux渗透测试的内容 第五章:基本工具 克隆网页,把gitbook的书记下载到本地 httrack " http://www.mybatis.org/mybatis-3/zh/ " -O ./books/mybatis/ -v 第六章: 信息收集 shodan 官网: https://www.shodan.io/ 视频教程: https://asciinema.org/~Shodan 优质文档: http://b404.xyz/2018/02/08/Shodan-Manual/ 十一章:无线渗透 无线网卡: 其实我的笔记本自带的无线网卡就很好了,完全支持aircrack-ng,因为我是 物理机直接装的kali。 之前尝试过ALFA360NH,信号大大的增强了,但是不支持WPS 破解,可能是我操作有问题,缺少必要步骤。 后来换了WN722N+卡王9db天线。信号:笔记本<WN722N(原装天线)<WN722N+卡王9db天线<<ALFA360NH。感觉卡王9db天线作用不太大。完美支持aircrack-ng。 必要步骤 不论是下面哪种加密类型破解,务必执行的步骤: service network-manager stop airmon check kill 最后插网卡 wep 特点:抓包复杂,破解简单。很少有ap是wep加密,但基本秒破 wpa

3年Java开发经验从阿里、美团、滴滴面试回来,想和Java程序员谈一谈感悟及面经

♀尐吖头ヾ 提交于 2020-11-23 09:55:28
最近面试了阿里、京东、美团、滴滴等大型互联网公司,最终收到了美团offer,这次面试过后,我把面试过的公司的面试题做了一个整理。这篇文章是我凭回忆记录的,面试题没有顺序,不分先后,接下来公布我去阿里、京东、美团等一线互联网公司的面试题: 一、阿里巴巴面试   1、开发中Java用得比较多的数据结构有哪些?   2、谈谈你对HashMap的理解,底层原理的基本实现,HashMap怎么解决碰撞问题的?   这些数据结构中是线程安全的吗?假如你回答HashMap是线程安全的,接着问有没有线程安全的map,接下来问conurren包。   3、对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问了GC和内存管理,平时在tomect里面有没有进行过相关的配置。   4、说一下http协议、get和post的基本区别,接着问tcp/ip协议,三次握手,窗口滑动机制。   5、开发中用了哪些数据库?回答mysql;储存引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。   6、springmvc和mybatis的工作原理,有没有看过底层源码? 二、京东金融面试   1、Dubbo超时重试;Dubbo超时时间设置   2、如何保障请求执行顺序   3、分布式事物与分布式锁(扣款不要出现负数)   4、分布式session设置   5、执行某操作,前50次成功

看完让你彻底理解 WebSocket 原理,附完整的实战代码(包含前端和后端)

匆匆过客 提交于 2020-11-23 09:47:51
前言 最近有同学问我有没有做过在线咨询功能。同时,公司也刚好让我接手一个 IM 项目。所以今天抽时间记录一下最近学习的内容。 本文主要剖析了 WebSocket 的原理,以及附上一个完整的聊天室实战 Demo (包含前端和后端,代码下载链接在文末)。 WebSocket 与 HTTP WebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。 HTTP 有 1.1 和 1.0 之说,也就是所谓的 keep-alive ,把多个 HTTP 请求合并为一个,但是 Websocket 其实是一个新协议,跟 HTTP 协议基本没有关系,只是为了兼容现有浏览器,所以在握手阶段使用了 HTTP 。 下面一张图说明了 HTTP 与 WebSocket 的主要区别: WebSocket 的其他特点: 建立在 TCP 协议之上,服务器端的实现比较容易。 与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。 数据格式比较轻量,性能开销小,通信高效。 可以发送文本,也可以发送二进制数据。 没有同源限制,客户端可以与任意服务器通信。 协议标识符是ws

Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版

北城以北 提交于 2020-11-23 05:27:24
一、前言 什么是MyBatis? MyBatis是目前Java平台最为流行的ORM框架 https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境 1、操作系统: Windows 10 X64 2、Java SDK: jdk-8u141 3、Maven:3.5 4、IDE:IntelliJ IDEA 2017 5、Spring Boot:1.5.6 本项目构建基于: https://ken.io/note/springboot-course-basic-helloworld 二、Spring Boot整合MyBatis 引入核心依赖 package 说明 mybatis-spring-boot-starter MyBatis核心for Spring Boot mysql-connector-java 用于连接MySQL pom.xml文件: < parent> < groupId>org.springframework.boot </ groupId> < artifactId>spring-boot-starter-parent </ artifactId> < version>1.5.6.RELEASE </ version> </ parent> < dependencies> < dependency> < groupId>org

MyBatis系列(七):MyBatis动态Sql之choose,where,set标签的用法

孤街醉人 提交于 2020-11-23 05:11:35
本篇博客主要讲解如何使用choose,where,set标签生成动态的Sql。 1. choose 用法 假设有这样1个需求:当参数id有值时优先使用id查询,当id没有值时就去判断用户名是否有值,如果有值就用用户名查询,如果没值,就使查询无结果。 首先,我们在接口SysUserMapper中添加如下方法: /** * 根据用户id或用户名查询 * * @param sysUser * @return */ SysUser selectByIdOrUserName(SysUser sysUser); 然后在对应的SysUserMapper.xml中添加如下代码: <select id="selectByIdOrUserName" resultType="com.zwwhnly.mybatisaction.model.SysUser"> SELECT id, user_name, user_password, user_email, create_time FROM sys_user WHERE 1 = 1 <choose> <when test="id != null"> AND id = #{id} </when> <when test="userName != null and userName != ''"> AND user_name = #{userName} <