MyBatis SQL语句操作Mysql

本文记录使用Mybatis操作数据库时碰到的一些语句,供以后参考。

一,多条件查询

示意SQL语句:SELECT t_field1, t_field2 FROM table_name WHERE t_field3 (BETWEEN startTime AND endTime) AND t_field4 IN (xxx,xxx,xxx)

Mapper接口配置:

    public List<Chat> query(@Param("startTime") long startTime, @Param("endTime") long endTime, @Param("sids") List<Long> sidList);

Mapper.xml配置:

    <select id="query" resultMap="chat">
        SELECT uid,content from tableName
        WHERE
        ( UNIX_TIMESTAMP(data_time) >= #{startTime} ) AND ( UNIX_TIMESTAMP(data_time) &lt;= #{endTime} )
        AND sid IN
        <foreach collection="sids" item="item" index="index" open="(" separator="," close=")">
            #{item}
        </foreach>
    </select>

resultMap 将数据库中的列名 与 JavaBean 属性名 对应,从而映射成Java对象。Chat则是一个拥有两个字段(uid 和 content)的 JavaBean类。

    <resultMap id="chat" type="Chat"><!-- Chat 是在mybatisConfig.xml中定义的别名(全限定包名在 mybatisConfig.xml中配置了)-->
        <id property="id" column="id"/>
        <result property="uid" column="uid"/>
        <result property="content" column="content"/>
    </resultMap>

解释:①Mapper接口中的方法名 与 Mapper.xml中的 <select id 一 一对应。

②Mapper接口 通过 @Param 实现多个参数传递。可参考:MyBatis简单使用和入门理解 中的“使用参数注解的形式传递多个参数”。@Param中指定的参数名称 与 select 查询语句中的 名称 一 一对应。比如:@param("startTime")  对应 #{startTime} 。  @param("endTime")  对应 #{endTime}  。

 @param("sids")  对应 foreach collection="sids"

③通过 foreach 语句,对 sid 字段 实现了 多条件匹配。相当于 sid IN {xxx1,xxx2,xxx3....}

④另外对于数据库中的String类型 data_time字段,首先转化成UNIX时间戳,然后与 startTime 及 endTime 比较。注意的是 <= 是用 &lt; 来表示的。否则会报下面错误

tag name are expected
时间: 2024-10-12 12:26:36

MyBatis SQL语句操作Mysql的相关文章

使用SQL语句操作MYSQL字符编码

-- 查看所有的字符编码 SHOW CHARACTER SET; -- 查看创建数据库的指令并查看数据库使用的编码 show create database dbtest; -- 查看数据库编码: show variables like '%char%'; -- 设置character_set_server.set character_set_client和set character_set_results set character_set_server = utf8;            

Shell脚本中执行sql语句操作

这篇文章主要介绍了Shell脚本中执行sql语句操作mysql的5种方法,本文讲解了将SQL语句直接嵌入到shell脚本文件中.命令行调用单独的SQL文件.使用管道符调用SQL文件等方法,需要的朋友可以参考下 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到sh

在myeclipse中配置DB Driver(数据库用MySql),并在myeclipse执行sql语句操作

在myeclipse中配置DB Driver(数据库用MySql),并在myeclipse执行sql语句操作 MyEclipse6.5    ,  mysq驱动jar包为mysql-connector-java-5.1.8-bin.jar 在MyEclipse中添加hibernate支持时需要用到DB Driver所以需要配置 首先选择window-->Open Perspective-->Other 出现下图:选择MyEclipse Database Explore. 点击OK后出现如下画面

mysql系列详解二:sql语句操作-技术流ken

1.简介 本篇博客将详细讲解mysql的一些常用sql语句操作,例如创建数据库,删除数据库,创建表,修改表,删除表,以及简单查询案例. 2.关于mysql数据中的SQL的大小写问题 1.不区分大小写 1. sql中的关键字函数名 2. 存储过程.促存储函数.调度器 2.区分大小写 1. 库名.表名(也可以不区分--修改配置文件或者环境变量) 2. 触发器 3. 视图 3.第一类语句:与数据库相关的语句 语句1:创建数据库 CREATE DATABASE [IF NOT EXISTS] db_na

sql语句(MySQL)

本篇源自网络,整理了sql99标准中增删改查的sql语句以及MySQL特有的语句. 数据库--MySql 数据仓库.就与我们之前学过的纯文本,properties这些技术一样.用来保存数据.并提供对数据进行增删改查的操作.我们以后做项目时,项目中的数据都是保存在数据库中的.//--------------------------------------------------------------------为什么要用数据库,数据库的特点 1>实现数据共享 2>减少数据的冗余度 3>数

2.MySQL用户管理,常用SQL语句,MySQL数据库备份与恢复

[toc] MySQL用户管理,重用SQL语句,MySQL数据库备份与恢复 一.MySQL用户管理 1.创建一个普通用户并授权 首先启动mysql,然后进入 [[email protected] ~]# /etc/init.d/mysqld start Starting MySQL... SUCCESS! [[email protected] ~]# mysql -uroot -pxavilinux Warning: Using a password on the command line in

JAVA中用 SQL语句操作小结

1.添加记录(INSERT) 使用SQL语句的INSERT命令可以向数据库中插入记录,INSERT命令的基本形式为: INSERT INTO 表名 [(字段名1,字段名2-)] VALUES (值1,值2,-) 若在输入记录时,每个字段均有内容,可省略表名后的字段名. 该SQL语句用于将值1,值2--值n分别赋给字段1,字段2,--字段n, 并为表增加一条记录.在使用该命令时要注意下面两个规则: 插入的值必须和列一一对应. 插入值的数据类型必须和对应列的数据类型相一致. 比如使用下面这个命令就可

SQL语句操作大全

SQL语句操作大全   本文分为以下六个部分: 基础部分 提升部分 技巧部分 数据开发–经典部分 SQL Server基本函数部分 常识部分 一.基础 1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server— 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNw

Linux centosVMware mysql用户管理、常用sql语句、mysql数据库备份恢复

一.mysql用户管理 grant all on *.* to 'user1'@'127.0.0.1' identified by 'mimA123'; 创建user1用户 使用user1登录 /usr/local/mysql/bin/mysql -uuser1 -pmimA123 -h127.0.0.1 变为localhost,不加-h也能登录 mysql> grant all on *.* to 'user1'@'localhost' identified by 'mimA123'; [[e