MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
Mysql是开源的,所以你不需要支付额外的费用。
Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。
Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
MySQL使用标准的SQL数据语言形式。
Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
select * from deptdevicepart where department_no=? and device_no=? AND insert_date >= (NOW() - INTERVAL 24 HOUR)
SELECT DATE_FORMAT(DATE_ADD(NOW(),INTERVAL - 3 DAY),'%Y-%m-%d 00:00:00');
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00')
主要思路:一般涉及到排序功能,数据库都会新增一个sort为int型的字段,新增一条数据时,sort取当前表里sort最大值再加1,上移功能,主要是拿当前需要移动数据的id,找到上一条记录,交换sort,再更新数据库这两条数据;下移反之,具体实现如下:
controller层只需要一个接口实现上移下移功能,传入的对象新增一个boolean类型即可
ArsDept arsDept1 = arsDeptMapper.selectArsDeptById(arsDept.getDeptId());
//查询上一条记录
ArsDept arsDept2 = arsDeptMapper.moveUp(arsDept1.getOrderNum());
//最上面的不能上移
if(null==arsDept2){return 0;}
//交换position的值
int temp=arsDept1.getOrderNum();
arsDept1.setOrderNum(arsDept2.getOrderNum());
arsDept2.setOrderNum(temp);
//更新到数据库中
arsDeptMapper.updateArsDept(arsDept1);
arsDeptMapper.updateArsDept(arsDept2);
return 1;
<select id="moveUp" parameterType="java.lang.Integer" resultMap="ArsDeptResult">
<include refid="selectArsDeptVo"/>
where ad.order_num < #{orderNum} order by ad.order_num desc limit 0,1
</select>
ArsDept arsDept1 = arsDeptMapper.selectArsDeptById(arsDept.getDeptId());
//查询下一条记录
ArsDept arsDept2 = arsDeptMapper.moveDown(arsDept1.getOrderNum());
//最下面的不能下移
if(null==arsDept2){return 0;}
//交换position的值
int temp=arsDept1.getOrderNum();
arsDept1.setOrderNum(arsDept2.getOrderNum());
arsDept2.setOrderNum(temp);
//更新到数据库中
arsDeptMapper.updateArsDept(arsDept1);
arsDeptMapper.updateArsDept(arsDept2);
return 1;
<select id="moveDown" parameterType="java.lang.Integer" resultMap="ArsDeptResult">
<include refid="selectArsDeptVo"/>
where ad.order_num > #{orderNum} order by ad.order_num asc limit 0,1
</select>