Mybatis:单实体与List查询实战及映射教程

版权申诉
5星 · 超过95%的资源 13 下载量 126 浏览量 更新于2024-09-12 收藏 163KB PDF 举报
在Mybatis中,返回单个实体或List是常见的数据处理场景,这涉及到SQL查询的映射以及Java对象之间的数据转换。本文将详细介绍如何实现这些操作。 首先,我们有一个User实体类,用于存储用户信息,包括userId、userName、userPassword和createTime。这个类包含getter和setter方法,以方便数据的访问和设置。在DAO接口中,UserMapper定义了两个方法:getUserById和getUserByName。getUserById用于根据userId查询单个用户,而getUserByName则根据userName获取用户列表。 在数据库层面,我们有一个user表,其结构包含了与User类属性相对应的列,如USER_ID、USER_NAME等。 1. **返回单个实体**: 在Mybatis的映射文件中,`<select id="getUserById" parameterType="string" resultType="com.test.User">`这一部分是关键。`id`是这个映射语句的唯一标识,`parameterType`指定了传入查询参数的类型(这里是String)。`resultType`指定查询结果的数据类型,即返回的是User对象。为了正确映射,数据库中的USER_ID字段必须与User类的userId属性名称一致。 2. **返回List**: 对于返回多个结果的场景,如getUserByName方法,我们同样使用`<select>`标签,但`resultType`改为List<User>,这意味着查询结果会被自动装入一个User对象的列表。在这个例子中,我们需要确保数据库表的USER_NAME字段与User类的userName属性名称相匹配。 在实际操作中,当执行这些映射语句时,Mybatis会根据映射文件动态生成SQL查询,并将查询结果转换为对应的Java对象。这大大简化了数据访问的复杂性,使得代码更易于理解和维护。 总结来说,Mybatis通过`<select>`标签的配置,结合Java类型的映射规则,实现了从数据库查询到Java对象的无缝转换,无论是单个实体还是列表形式,都只需简单地配置映射语句。这种灵活性和高效性是Mybatis作为ORM框架的一大优势。通过学习和实践这些基本用法,开发者可以更好地利用Mybatis进行数据库操作,提高开发效率。
2015-09-05 上传
MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现关联数据的查询 mybatis实战教程mybatis in action之五与spring3集成附源码 mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载 转自:http://www.yihaomen.com/article/java/302.htm (读者注:其实这个应该叫做很基础的入门一下下,如果你看过Hibernate了那这个就非常的简单) (再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看中文的:http://mybatis.github.io/mybatis-3/zh/sqlmap-xml.html) 写在这个系列前面的话: 以前曾经用过ibatis,这是mybatis的前身,当时在做项目时,感觉很不错,比hibernate灵活。性能也比hibernate好。而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此重新温习了一下 mybatis, 因此就有了这个系列的 mybatis 教程. 什么是mybatis MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4. 在用完之后关闭session 。 5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。 mybatis实战教程(mybatis in action)之一:开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包。这些软件工具均可以到各自的官方网站上下载。 首先建立一个名字为 MyBaits 的 dynamic web project 1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。 2. 将 mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到 web工程的lib目录. 3. 创建mysql 测试数据库和用户表,注意,这里采用的是 utf-8 编码 创建用户表,并插入一条测试数据 程序代码 程序代码 Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; Insert INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong'