失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ibatis mysql存储过程返回结果集 IBatis查删节查与调用存储过程 mysql数据库

ibatis mysql存储过程返回结果集 IBatis查删节查与调用存储过程 mysql数据库

时间:2021-11-02 21:51:52

相关推荐

ibatis mysql存储过程返回结果集 IBatis查删节查与调用存储过程 mysql数据库

IBatis查删改查与调用存储过程 mysql数据库

简单介绍一下IBatis是什么:iBATIS一词来源于“internet”和“abatis”的组合,是一个由ClintonBegin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。

iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAO),同时还提供一个利用这个框架开发的JPetStore实例。

相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,ibatis是一种“半自动化”的ORM实现。

所谓“半自动”,可能理解上有点生涩。纵观目前主流的ORM,无论Hibernate还是ApacheOJB,都对数据库结构提供了较为完整的封装,提供了从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 "-////DTD SQL Map 2.0//EN"

"/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 "-////DTD SQL Map Config 2.0//EN"

"/dtd/sql-map-config-2.dtd">

enhancementEnabled="true"

lazyLoadingEnabled="true"

maxRequests="32"

maxSessions="10"

maxTransactions="5"

useStatementNamespaces="false" />

6.后面的太长了还是下附件吧。。

1 楼

ssy341

-03-01

SqlMapClientBuilder 是什么啊?报错啊

2 楼

pzh244658240

-03-02

ssy341 写道

SqlMapClientBuilder 是什么啊?报错啊

对于这种问题。还是没有理解编译java是怎么实现的呀。。包呀。兄弟。导包,网上一大堆。

如果觉得《ibatis mysql存储过程返回结果集 IBatis查删节查与调用存储过程 mysql数据库》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。