mysql查询|Mybatis查询

mysql查询|Mybatis查询,第1张

1、mysql肯定可以实现

2、树形结构的实现其实很简单的,建议你看下ztree的官方api,你只需要按照数据结构递归查询出父子节点的数据即可

3、mybatis是java中实现的方式了,至于你想怎么优化,最后都是递归查询父子节点的数据

一、mysql 使用limit 子句来实现数据库的物理分页,limit 子句接受 一个或两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数量。在mybatis 中,只需要在相 应的查询语句后,加上limit 子句,即可实现物理分页。如下,以 一个只有字段id,name,age 的表为例。该配置会根据传入的 hashmap,如果含有键start 和键end,那么即通过mybatis 强大的 动态sql,生成含有mysql 分页的sql语句。 select * from users limit #{start},#{end}

二、mybaits 简介

mybatis,前称ibatis,后改名为mybatis,截止本文成文,最新 版本是3.0.6。它和hibernate 是java世界使用最多的两种orm 框 架。hibernate 理念最为先进,完全实现面向对象的数据库编程,不需要掌握sql 语句,即可实现数据库 *** 作,能够节省开发人员编 写大量sql语句的时间。但是,hibernate 在处理多表关联时,可 能会出现n+1 问题,性能会有较大影响,要解决性能问题,需要较 深的hibernate 知识和项目经验。mybatis 需要自己写sql 语句, 开发效率不如hibernate,很难做到底层多数据库的通用。但对程 序员来说有更高的可控性,可以更容易的对sql 语句进行优化,提 高效率。

在开发中直接使用jdbc 一个非常普遍的问题就是动态sql。如果 参数值、参数本身和数据列都是动态sql,通常的解决方法就是写很多if-else 条件语句和字符串连接。而mybatis 通过ognl 提供 了一套非常清晰的方法来解决动态sql 的问题。

mysql数据表:

create table driver_order (

id int(11) unsigned NOT NULL AUTO_INCREMENT,

area_start varchar(200),

area_end varchar(200),

order_number varchar(200),

create_user varchar(200),

primary key (id)

)

创建触发器:

DELIMITER $$

CREATE TRIGGER seq_driver_order_number BEFORE INSERT ON driver_order

FOR each ROW

BEGIN

DECLARE seq_type INT(10)

SET seq_type = getUserNo(NEW.create_user)

SET NEW.order_number = getNextCommSequence("motor", seq_type)

END$$

DELIMITER

以下是mybatis *** 作触发器的配置方法:

<insert id="insertOrder" parameterType="DriverOrder">

<selectKey keyProperty="id,orderNumber" keyColumn="ID,ORDER_NUMBER" order="AFTER" resultType="java.util.Map">

SELECT ID,ORDER_NUMBER FROM DRIVER_ORDER where ID = last_insert_id()

</selectKey>

INSERT INTO

DRIVER_ORDER(ID,ORDER_NUMBER,AREA_START,AREA_END,CREATE_USER,CREATE_TIME)

VALUES

(#{id},

#{orderNumber,jdbcType=VARCHAR},

#{areaStart,jdbcType=VARCHAR},

#{areaEnd,jdbcType=VARCHAR},

#{createUser,jdbcType=VARCHAR},

now())

</insert>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6172440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存