Mybatis使用存储过程(MySql)】的更多相关文章

最近在看资料中涉及到mybatis,突然想到mysql中的视图.存储过程.函数.现将在使用mybatis调用mysql的存储过程使用总结下: 使用的环境:mybatis3.4.6,mysql 5.6,数据库视图工具sqlyog(可也以使用其他的),springboot 1.创建存储过程,代码如下 DROP PROCEDURE IF EXISTS add_;DELIMITER //CREATE PROCEDURE add_(IN a INT,IN b INT,OUT c INT)BEGIN SEL…
Mybatis调用存储过程 贴码 123456 Error querying database. Cause: java.sql.SQLException: User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureB…
接着上一篇博客<Spring整合MyBatis(Maven+MySQL)一>继续. Spring的开放性和扩张性在J2EE应用领域得到了充分的证明,与其他优秀框架无缝的集成是Spring最为强大的功能.Spring类似电脑的主板,可以将许多部件集成在一起协调工作. 一.在Web项目中启动Spring容器 在Web项目中当Web容器启动时我们要同时启动Spring容器,有三种办法,第一种使用监听器启动,第二使用Servlet启动,第三使用MVC框架的扩展点启动,这里主要选择第一种,因为监听器的启…
1. 存储过程准备 CREATE PROCEDURE sp_task ( IN userId INT ) BEGIN SELECT * FROM task WHERE user_id = userId; END 2. MyBatis调用存储过程 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN…
搭建springboot+mybatis+druid+sqlite/mysql/oracle附带测试 1.版本 springboot2.1.6 jdk1.8 2.最简springboot环境 https://www.cnblogs.com/SmilingEye/p/11422536.html 3.pom(sqlite配置) spring-boot-starter与spring-boot-starter-test mybatis-spring-boot-starter druid sqlite-j…
mybatis&plus系列------Mysql的JSON字段的读取和转换 一. 背景 在平常的开发中,我们可能会有这样的需求: 业务数据在存储的时候,并不是以mysql中的varchar丶int等格式来存储的,而是使用json格式. 这样做的好处是当数据结构有变化或者需求变化时,我们不用再添加字段,方便扩展. 那么mysql中json格式的数据我们使用mybatis或者mybatisplus读取以后,肯定是希望转换成对象或者对象集合的,本篇博文就记录一下使用mybatis读取json格式的数…
INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-371dao.ITaskDao.callProcedure: ==> Preparing: call sp_one( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ); INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-…
INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-371dao.ITaskDao.callProcedure: ==> Preparing: call sp_one( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ); INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-…
mybatis版本:3.4.4 存储过程 1.mapper.xml文件中配置相关的sql语句. <select id="callTest" statementType="CALLABLE" > { call hasResource( #{param1,mode=IN}, #{param2,mode=IN}, #{param3,mode=OUT,jdbcType=INTEGER} ) } </select> 注意:parameterMap已被舍…
推荐文章:http://www.iteye.com/topic/1132302 http://yhjhappy234.blog.163.com/blog/static/316328322012455714892/ http://www.iteye.com/problems/85525 http://www.blogjava.net/zljpp/archive/2012/04/15/374383.html 这里写的是后台数据库使用Mysql, 存储过程定义: )) BEGIN DECLARE v_…
本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这部分内容需要以下Jar包支持 mysql-connector:MySQL数据库连接驱动,架起服务端与数据库沟通的桥梁: MyBatis:一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架: log4j:Apache的开源项目,一个功能强大的日志组件,提供方便的日志记录: 修改后的pom.xm…
MySQL存储过程 DROP PROCEDURE IF EXISTS transferMoney; -- 实现转账功能的存储过程 CREATE PROCEDURE transferMoney ( IN fromUserId INT, -- 付款方 IN toUserId INT, -- 收款方 IN money DOUBLE, -- 转账金额 OUT state INT, -- 状态 OUT errorMsg ) -- 异常信息 ) BEGIN ; -- 0表示正常,99表示异常 START T…
存储过程在小公司用的不多,但是如果业务比较复杂或者性能要求比较苛刻的时候存储过程就派上用场了,ibatis的前期的一些版本貌似不支持存储过程因此我选择了mybatis来做实验. 1.无输入和输出参数的存储过程,我写了一个比较简单的,需要注意的是Oracle无参存储过程不能写括号 CREATE OR REPLACE Procedure cascadeoperation As Begin Delete From teacher Where id=1; Update studentdetail Set…
Mybatis 拦截器不做解释了,用过的基本都知道,这里用load data local主要是应对大批量数据的处理,提高性能,也支持事务回滚,且不影响其他的DML操作,当然这个操作不要涉及到当前所load的数据,其中在使用的时候一定要local , 这个命令使用是mysql规定的,否则不加则会认为是服务器本地的文件.这里主要是以流的方式来做处理,这样可以使用内存流,这样就可以避免在某些时候需要生成文件才能导入的多余操作,和IO性能消耗.也可以是应用本地的文件. 注:该做法只试用于存入数据的表,不…
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中. 使用这个类库中的类, Spring 将会加载必要的MyBatis工厂类和 session 类. 这个类库也提供一个简单的方式来注入MyBatis数据映射器和SqlSession到业务层的bean中. 而且它也会处理事务, 翻译MyBatis的异常到Spring的 DataAccessException异常(数据访问异常,译者注)中.最终它并不会依赖于MyBatis,Spring或MyBatis-Spr…
一.问题描述 a)         目前调用读的存储过程的接口定义一般是:void  ReadDatalogs(Map<String,Object> map);,入参和出参都在这个map里面,这样用起来就很麻烦,我希望的是可以定义成:list<TimeData> ReadDataLogs(int stationId, int deviceId, Date startTime, Date endTime); 二.已经尝试的方法 a)         改变入参的传递方式: i.    …
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 本文工程免费下载 一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` char(3…
存储过程示例: create or replace procedure Fsp_Plan_CheckPrj(v_grantno varchar2, v_deptcode number, v_cursor out sys_refcursor) is ……………… ---返回统计结果 open v_Cursor for select s.plan_code, s.plan_dept, s.plan_amount, s.exec_amount, p.cname as plan_name, d.cnam…
原文:http://www.cnblogs.com/xdp-gacl/p/4270352.html 一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 create table p_user( id int primary key auto_increment, name ), sex ) ); insert into p_user(name,sex) values('A',"男"); insert into p_user(name,s…
1.      下载spring roo,设置环境变量ROO_HOME,和path,classpath. 使用CMD命令行找到工作区间,新建工程目录转到工程目录:mkdir ten-minutes $ cdten-minutes 2.      project--topLevelPackage com.tenminutes 3.      roo>jpa setup --provider HIBERNATE--database HYPERSONIC_IN_MEMORY 4.      roo>…
Mapper文件中的写法 <insert id="batchUpdateTjData"> <foreach collection="list" item="item" index="index" open="" close="" separator=";"> UPDATE test_table SET c_a = #{item.ca}, c_b…
周末这天手痒,正好没事干,想着写一个分页的例子出来给大家分享一下. 这个案例分前端和后台两部分,前端使用面向对象的方式写的,里面用到了一些回调函数和事件代理,有兴趣的朋友可以研究一下.后台的实现技术是将分页Pager作为一个实体对象放到domain层,当前页.单页数据量.当前页开始数.当前页结束数.总数据条数.总页数都作为成员属性放到实体类里面. 以前项目数据库用的是oracle,sql语句的写法会从当前页开始数到当前页结束数查询数据.刚刚在这纠结了很长时间,查询到的数据显示数量总是有偏差,后来…
将调用存储过程参数放入map中,由于返回的游标中包含很多参数,所以再写一个resultmap与之对应,类型为hashmap.设置返回的jdbcType=CURSOR,resultMap设置为id对应的值.最后游标中的值就输出到list中了.代码如下: service层 public HashMap TestProcedure(String id) { HashMap map = new HashMap(); map.put("id", id); map.put("cursor…
pom.xml相关的配置说明. 配置文件看着比价多,在创建spring-boot项目的时候,自需要添加web,mysql,mybatis三个选项即可 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in…
由于业务场景需求,需要记录精准的时间,但是呢,又不要想使用int类型来存储时间,因为这样的可读性比较差了. 怎样在mybatis中向数据库插入毫秒级别的时间呢? 首先,先来看看怎样向数据库中插入毫秒时间.这是关键问题,如果直接向数据库插入时间都无法完成,那就不要想借助其他工具能完成了. 可以使用mysql客户端工具,插入一个时间,设置为datetime,尝试一下: CREATE TABLE `t_job_record` ( `id` ) unsigned NOT NULL AUTO_INCREM…
本文档结合 SpringMVC. Mybatis. MySQL,说明如何实现一个简单的数据库单表 CRUD操作.开发工具使用集成了spring mvc的eclipse(Spring Tool Suite,简称STS). 基础环境说明 Mac OS X 10.11.5 jre version 1.8.0_05 java sdk 1.8.0_05 STS 3.5.1 maven 3.2.1 以上环境安装配置好后,就可以开始demo程序了. MySQL建表语句  CREATE TABLE `user`…
mybatis查询mysql,group by分组查询报错:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column mysql版本是5.7 1.导致出错的sql语句是: <select id="findScNumByTime" parameterType="com.pisen.cloud.luna.ms.security.code.api.beans…
                                                                                                                          触发器 一 什么是触发器 1,定义:触发器是个特殊的存储过程,他的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作时就会激活它执行.触发器经常用于加强数据的完整性约束和业务规则等.触发器可以DBA_TRIGGERS,USER_T…
研究了一天mybatis如何执行存储过程,基本了解了ORM的设计思想,在map层面进行对象关系映射有两种思路. 根据不同的业务使用不同的思路: 一.实体类和数据库映射,就是将数据库中的字段和java实体类中的对象对应起来,这是最普遍的做法. 就是这个样子: <resultMap id="BaseResultMap" type="com.kt.model.Funeral" > <id column="applyid" proper…
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 本文工程免费下载 一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` char(3…