文档章节

mybatis学习之CLOB、BLOB处理及多参数方法映射

c
 caiyezi
发布于 2016/11/08 20:24
字数 328
阅读 59
收藏 0

CLOB数据mysql对应数据类型为longtext、BLOB类型为longblob:

model实体:

...
private Integer id;
private String name;
private int age;

private byte[] pic; // 映射blob
private String remark; // 映射longtext
...

1、blob、clob数据插入:

<insert id="insertStudent" parameterType="Student">
    insert into t_student values(null,#{name},#{age},#{pic},#{remark})
</insert>

对应Dao接口:

/**
* 插入学生
* @param student
* @return
*/
public int insertStudent(Student student);

junit测试:

@Test
    public void testInsert() throws Exception {
        logger.info("新增学生");
        Student student = new Student();
        student.setAge(12);
        student.setName("晁州");
        student.setRemark("长文本");
        byte[] pic = null;
        try {
            File file = new File("c://test.png");
            InputStream is = new FileInputStream(file);
            pic = new byte[is.available()];
            is.read(pic);
            is.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        student.setPic(pic);
        studentDao.insertStudent(student);
        sqlSession.commit();
    }

2、blob、clob数据查询(blob数据查询出来对应java的byte[]):

<select id="getStudentById" parameterType="Integer" resultType="Student">
    select * from t_student where id = #{id}
</select>

Dao接口部分:

@Test
    public void testGet() throws Exception {
        logger.info("查询学生");
        Student student = studentDao.getStudentById(34);
        System.out.println(student);
        byte[] pic = student.getPic();
        try {
            File file = new File("c://output.png");
            OutputStream os = new FileOutputStream(file);
            os.write(pic);
            os.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

3、mybatis的多参数查询:

Dao接口部分:

/**
     * 根据姓名和年龄进行查询(mybatis多参数查询)
     * @param name
     * @param age
     * @return
     */
    public List<Student> getStudentsBy2Args(String name,Integer age);

对应mapper映射:

<select id="getStudentsBy2Args" resultMap="StudentResult">
    select * from t_student where name like #{param1} and age = #{param2}        <!-- 与方法的参数顺序一一对应 -->
</select>

junit测试:

@Test
    public void testGetStudentsBy2Args() throws Exception {
        List<Student> students = studentDao.getStudentsBy2Args("%晁%", 24);
        for (Student student : students) {
            System.out.println("####### "+student);
        }
    }

 

本文转载自:http://www.cnblogs.com/vipzhou/p/5640686.html

共有 人打赏支持
c
粉丝 1
博文 108
码字总数 0
作品 0
西安
程序员
Java大对象类型的Hibernate映射

在Java中,java.lang.String可用于表示长字符串(长度超过255),字节数组byte[]可以用于存放图片户或文件二进制数据。此外,在JDBC API中还提供了java.sql.CLOB和java.sql.BLOB类型,他们分...

frabbit
2013/05/07
0
0
Hibernate 映射xml中的属性类型

Hibernate的内置映射类型 1 JAVA基本类型(包括它们的包装类)和Hibernate映射类型 Hibernate Java类型 标准SQL类型 大小和取值范围 integer/int int/java.lang.Integer integer 4字节,-2^31...

长平狐
2013/01/06
1K
0
mybatis分页插件和类型

记得我最初接触的还是ibatis,不过学艺不精,那还是14年的时候。那是就看到有ibatis的分页插件。后来mybatis渐渐流行起来。发现一些mybatis的分页插件挺好用的。比如pagehelper,和最近研究的...

miaojiangmin
2016/10/22
21
0
mybatis学习笔记(5)-SqlMapConfig

mybatis学习笔记(5)-SqlMapConfig 标签: mybatis [TOC] 本文主要讲解SqlMapConfig配置文件 > 参考mybatis – MyBatis 3 Configuration SqlMapConfig.xml中配置的内容和顺序如下 properties......

brianway
2016/02/28
124
0
MyBatis 之 SqlMapConfig.xml 配置

下面介绍 MyBatis 的核心配置文件 SqlMapConfig.xml 的配置实用: SqlMapConfig.xml 中配置的内容和顺序如下: properties(属性)、settings(配置)、typeAliases(类型别名)、typeHandl...

pradosoul
2015/09/09
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

RESTful架构详解

1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主...

kitty1116
25分钟前
1
0
精通Spring Boot——第十篇:Quartz动态配置定时任务

定时任务简述 定时任务,在企业开发中尤其重要,很多业务都是需要定时任务去做的。比如说10点开售某件东西,凌晨0点统计注册人数,统计其他各种等等。这个时候不可能说让人为的去开启某个开关...

developlee的潇洒人生
28分钟前
1
0
将一些内容输出到文件中

看到一个面试题,如下: 第八题: 一个字符串将其输入到一个文件中,代码如下: <?php$a = '[{"teamId": "43", "serial": "1"},{"teamId": "1", "serial": "2"},{"teamId": "14", "serial":...

vinci321
37分钟前
1
0
nginx的简单使用:负载均衡

nginx:反向代理的服务器;用户发送请求到nginx,nginx把请求发送给真正的服务器,等待服务器处理完数据并返回,再把数据发送给用户。 nginx作为一个反向代理服务器,能缓存我们项目的静态文...

osliang
今天
2
0
网站title标题被改并被百度网址安全中心提醒的解决办法

国庆假日期间我们Sine安全接到众多网站站长求助网站标题被改导致在百度搜索中百度安全中心提醒被拦截,导致网站正常用户无法浏览网站被跳转到一些菠菜du博网站,而且很明显的一个特征就是在百...

网站安全
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部