ibatis mysql存储过程返回结果集,IBatis查删节查与调用存储过程 mysql数据库
IBatis查删改查与调用存储过程 mysql数据库
简单介绍一下IBatis是什么:iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。
iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的JPetStore实例。
相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,ibatis是一种“半自动化”的ORM实现。
所谓“半自动”,可能理解上有点生涩。纵观目前主流的ORM,无论Hibernate还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从POJO到数据库表的全套映射机制。程序员往往只需定义好了POJO到数据库表的映射关系,即可通过Hibernate或者OJB提供的方法完成持久层操作。程序员甚至不需要对SQL的熟练掌握,Hibernate/OJB会根据制定的存储逻辑,自动生成对应的SQL并调用JDBC接口加以执行。
为什么:看到这里我想很多人想要问,为什么要弄一个半自动化的持久层框架,这里的话就要从hibernate的缺陷说起,虽然hibernate使得对数据的操作变得简单,但是如果数据库的数据处理量特别大,性能也要求很高,需要对sql语句进行优化才能够达到预期的要求,这个时候hibernate确实就是一个累赘了。所以在hibernate和jdbc之间多了一个选择,那就是IBatis,他使得开发人员不用在写繁琐的数据库访问代码,和字段读取操作。并且自己写sql语句。
怎么做:具体代码在附件中
1.建表
CREATE TABLE `users` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`age` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
CREATE PROCEDURE `sp_modify_user`(in_id Integer, in_age Integer)
begin
update users set age=in_age where id=in_id;
end;
2.建一个实体类
package com.ibatis.entity;
/**
*
* @author Administrator
*User实体类
*/
public class Users {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
4.一个映射
/p>
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
SELECT id,name,age FROM USERS
insert into USERS(id,name,age) values(#id#,#name#,#age#)
SELECT id,name,age FROM USERS WHERE id = #id#
delete from users where id=#id#
update users
name=#name#
age=#age#
where id=#id#
call sp_modify_user($id$,$age$)
select * from users
age > $age$
order by id limit $beginCount$,$pageSize$
5.IBatis配置文件
/p>
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false" />
6.后面的太长了还是下附件吧。。
1 楼
ssy341
2012-03-01
SqlMapClientBuilder 是什么啊?报错啊
2 楼
pzh244658240
2012-03-02
ssy341 写道
SqlMapClientBuilder 是什么啊?报错啊
对于这种问题。还是没有理解编译java是怎么实现的呀。。包呀。兄弟。导包,网上一大堆。
ibatis mysql存储过程返回结果集,IBatis查删节查与调用存储过程 mysql数据库相关推荐
- 用.NET调用oracle的存储过程返回记录集
最近做一个项目,为了提高数据库安全性,客户要求所有数据库操作都要放在存储过程.象一般的更新操作,返回一个值的,都比较容易实现.而要想返回记录集就比较麻烦,我在网上搜了一下,这方面的文章并不多.在此总结 ...
- C#调用ORACLE存储过程返回结果集及函数
ORACLE段: 首先在ORACLE建立PACKAGE和PACKAGE BODY,将在这里面定义函数和存储过程返回结果集. 1:建立PACKAGE: CREATE OR REPLACE package ...
- (转)Oracle程序包(存储过程)返回记录集
提示:在Oracle中,如果需要通过存储过程返回结果集, 需要使用游标! CREATE OR REPLACE PACKAGE BODY "SMS_PAY"."SMSMA ...
- oracle 存储过程返回,Oracle 存储过程返回结果集 (转)
Oracle 存储过程返回结果集 (转)[@more@] 1.返回数组 (作者:/Message_Board/Send.?sendto=enhydraboy" target=_blank&g ...
- java 存储过程返回结果集_通过SQL“select * from”从java存储过程返回结果集
我可以直接通过SQL select * from语句从java存储过程(oracle)获取结果吗? 在数据库上,我将有一个java存储过程/函数,当它被调用时返回一个多列,多行结果集. 我想直接通过s ...
- Java(CallableStatement)调用Oracle存储过程返回结果集(ResultSet)
一:无返回值的存储过程调用 存储过程: CREATE OR REPLACE PROCEDURE PRO_1(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS BEGIN ...
- Java 调用存储过程 返回结果集
这里使用Oracle数据库的thin连接. 下面是存储过程SQL 1 createorreplaceprocedure proc3(stid in student.stuid%type, stname ...
- 存储过程返回结果集_PostgreSQL函数返回结果集
有时我们需要定义返回结果集的函数,本文演示如何编码. 遂古之初,谁传道之?上下未形,何由考之?<天问> 1.函数定义 C语言定义部分 PG_FUNCTION_INFO_V1(quanzl_ ...
- jdbc批量调用oracle存储过程,oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作...
jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...
最新文章
- javascript:正则表达式、一个表单验证的例子
- 美国商务部工业和安全局(BIS)发布《关于拟制定脑机接口技术出口管制规则的通知》...
- python heap_python topN max heap,使用heapq还是自己实现?
- metasploit篇-01
- opencv进阶学习笔记4:ROI和泛洪扩充
- 职中心得体会300字高一计算机,职业高中毕业的自我鉴定范文300字
- java函数参数 省略号_[转] java使用省略号代替多参数.pdf
- eclipse里启动rabbitmq报错 java.net.SocketException: Connection reset
- ES6(Module 模块化)
- python中的[1:]、[::-1]、X[:,m:n]和X[1,:]
- 计算机系统基本组成教学设计,《计算机系统的基本组成》教学设计.pdf
- 什么软件和设备可以修改芯片代码_黑客宣称可以越狱苹果T2安全芯片
- 单片机实验一 LED灯实验
- 关于如何利用学生邮箱申请jetbrains免费全家桶
- Rust中国大会议程介绍:分会场 下
- net start mysql无法启动数据库的解决办法
- 在css中sticky定位的特性,CSS定位属性sticky详解
- 大学英语B116-阅读理解
- 计算机地图制图的优势,计算机地图制图
- 股票macd计算公式php,【图】日周MACD同图(日线公式)_选股公式,股票,炒股,股票软件,股票公式_指标公式分享交流论坛_理想论坛 - 股票论坛...
热门文章
- Vue结合萤石ezuikit-js实现实时监控视频
- Odoo产品分析 (二) -- 商业板块(6) --采购(1)
- 计算机体系结构学习 --- RISC-V(一)
- C语言实现进程同步与互斥
- 图灵程序设计丛书•鲜活的数据:数据可视化指南 - 电子书下载(高清版PDF格式+EPUB格式)...
- mysql update语句怎么写_mysql更新语句怎么写?
- HTML如何关闭窗口大全
- 使用incognito重放身份验证令牌
- html5不能播放视频的方法
- 中国私有LTE和5G网络市场深度研究分析报告(2021)