mybatis是个ORM(Object Relational Mapping 对象模型到关系模型的映射)框架。解决对象模型到二维表的关系模型的阻抗不匹配的问题。ORM框架在三层结构中,处在持久层,业务层调用持久层,持久层与数据库打交道,完成数据的CRUD操作,事务管理等。
ORM框架一般都需要两个元素来支持数据的持久化,1是建立维护数据库的关联;2是对象模型到关系的映射。对应mybaits的两种配置文件,基础配置文件和映射文件。
官网中文在线教程http://mybatis.github.io/mybatis-3/zh/sqlmap-xml.html,也有PDF的版可以下载
开发环境搭建
- 建立maven项目,提供依赖包
在pom.xml加入以下依赖
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency>
- 在src/main/resources下提供基础配置文件(mybatis-config.xml)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 引入外部properties文件 --> <properties resource="jdbc.properties" /> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置数据库源 --> <dataSource type="POOLED"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> </configuration>
jdbc.properties文件
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username=root password=root
- 创建表
DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `id` int(10) NOT NULL AUTO_INCREMENT, `username` varchar(40) NOT NULL, `password` varchar(40) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; INSERT INTO `t_user` VALUES ('1', 'alex', '123'); INSERT INTO `t_user` VALUES ('2', 'bing', '5234');
- 创建实体类
public class User { private int id; private String username; private String password; // 省略getter setter方法 // ... // 重写toString 方法 @Override public String toString() { return "User [id=" + id + ", username=" + username + ", password=" + password + "]"; } }
- 配置映射文件(User.xml)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.alex.app.entity.User"> <select id="selectUser" parameterType="int" resultType="com.alex.app.entity.User"> select * from t_user where id = #{id} </select> </mapper>
- 基础配置文件(mybatis-config.xml)中,使用mappers配置映射文件的指向(代码21-23行)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 引入外部properties文件 --> <properties resource="jdbc.properties" /> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置数据库源 --> <dataSource type="POOLED"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> <!-- 映射文件 --> <mappers> <mapper resource="com/alex/app/entity/User.xml"/> </mappers> </configuration>
- 测试
public class UserTest { @Test public void testSelectUser() { try { // 加载基础配置文件 InputStream in = Resources.getResourceAsStream("mybatis-config.xml"); // 创建SqlSessionFactory SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in); // 创建SqlSession SqlSession sqlSession = factory.openSession(); // 执行业务操作 /* selectOne方法说明 * 第一个参数是User.xml的namespace属性 + "." + select标签的id属性 * 第二个参数是id */ String statement = "com.alex.app.entity.User.selectUser"; User user = (User)sqlSession.selectOne(statement,2); System.out.println(user); } catch (IOException e) { e.printStackTrace(); } } }
执行结果:User [id=2, username=bing, password=5234]
相关推荐
本教程将引导你一步步搭建MyBatis的开发环境,为后续的深入学习和实践打下基础。 首先,我们需要了解MyBatis的核心概念。MyBatis是一个轻量级的框架,它不包含任何JDBC模板或实体管理功能,而是专注于SQL映射。通过...
6. **examdb.sql**:这个文件可能包含了数据库的初始结构和测试数据,用于快速搭建数据库环境。在项目部署时,可以导入这个SQL脚本来创建相关的考试、用户等表,并填充一些初始数据。 7. **lib**:这是一个通常存放...
在搭建MyBatis开发环境时,确保正确地引入必要的Jar包是至关重要的步骤。这里我们将详细讨论MyBatis 3.2.7版本的环境搭建过程中所需的核心Jar包以及它们在开发中的作用。 1. **mybatis-3.2.7.jar**:这是MyBatis的...
通过分析这个项目,你可以学习到如何搭建MyBatis环境,编写Mapper接口和映射文件,如何进行数据库操作,以及如何在实际项目中整合MyBatis和Spring。这将帮助你更好地理解和应用MyBatis框架,提升你的Java开发能力。
MyBatis的学习过程通常从环境搭建开始。在这个例子中,作者选择使用Maven来管理项目依赖。在`pom.xml`文件中,添加了必要的依赖,包括JUnit(用于单元测试)、Log4j(日志记录)、MyBatis框架本身以及MySQL驱动。...
标题中的“搭建IBatis一:mysql环境搭建之被虐的酸爽篇”表明这是一个关于如何在计算机环境中配置和使用IBatis框架与MySQL数据库的教程,其中可能涉及了作者在搭建过程中遇到的问题和解决方法。从描述中的链接可以...
在对MyBatis3的基本环境搭建进行优化的过程中,我们需要了解并掌握一系列的关键步骤和技术要点。在本篇中,我们将深入探讨MyBatis3的核心概念、配置优化以及开发实践中的最佳实践,以帮助开发者构建高效、稳定的开发...
通过上述步骤,我们已经成功地搭建了一个基于Maven的Spring + Spring MVC + MyBatis的开发环境。这样的环境不仅能够提高开发效率,还能够更好地管理项目依赖和构建过程。在后续的实际开发过程中,可以根据具体需求...
在本压缩包中,你将找到一系列与MyBatis相关的资源,包括开发环境包、源码以及代码提示功能配置文件,这对于理解和使用MyBatis进行数据库操作会非常有帮助。 1. **MyBatis开发环境包**:这通常包含了MyBatis的核心...
IntelliJ IDEA是JetBrains公司开发的一款Java集成开发环境,对Spring Boot的支持非常友好,提供了一系列方便快捷的工具和插件,使得开发工作更加高效。 3. **集成MySQL**: MySQL是一款关系型数据库管理系统,...
一个良好配置的开发环境可以提供代码编写、编译、运行、调试、测试等一系列工作流程的顺利进行,为后续的开发工作打下坚实的基础。对于初学者来说,整合这三个框架的过程中,对它们的了解和熟悉程度将会是决定学习...
这三种技术结合在一起,能够提供一个强大的、灵活的、可扩展的后端开发环境。 **Spring框架**:作为核心,Spring是一个全面的开源应用框架,它主要解决的是企业应用开发中的复杂性问题。Spring提供了依赖注入(DI)...
本文档主要介绍了如何使用Eclipse搭建一个基于Struts2、Spring3、MyBatis3的Java EE开发环境,并结合jQuery进行前端交互。首先,我们需要准备好一系列的安装文件,包括Struts2、Spring3、MyBatis3、jQuery以及...
这个压缩包是为了帮助开发者快速搭建一个支持Spring和MyBatis集成的项目环境。 描述中提到"基本常用jar包的整合",意味着这个压缩包包含了一些基础且常用的库,这些库是进行Spring和MyBatis整合所必需的。例如,...
开发环境搭建是进行MyBatis学习的首要步骤。搭建环境时,需要准备以下工具和组件: - Eclipse J2EE版本:这是一个用于开发Java EE应用程序的集成开发环境。 - MySQL 5.1:作为关系型数据库管理系统,MyBatis可以与之...
5. MyBatis安装与配置:MyBatis环境搭建,mybatis-config.xml配置,SqlSessionFactory与SqlSession的使用。 6. MyBatis映射文件:编写Mapper XML文件,定义SQL语句,使用结果映射,参数映射,动态SQL。 7. MyBatis...
mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现...