一.工程结构
二.在类路径下创建mybatis的配置文件Configuration.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> <typeAliases><!-- 别名 --> <typeAlias alias="User" type="com.bijian.study.model.User" /> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"><!-- 数据源 --> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://10.60.222.65:3306/test" /> <property name="username" value="test" /> <property name="password" value="test" /> </dataSource> </environment> </environments> <mappers><!-- ORM映射文件 --> <mapper resource="com/bijian/study/model/User.xml" /> </mappers> </configuration>
三.执行创建数据库和表的sql
-- Create the database named 'hbatis'. -- It's OK to use `, not OK to use ' or " surrounding the database name to prevent it from being interpreted as a keyword if possible. CREATE DATABASE IF NOT EXISTS `hbatis` DEFAULT CHARACTER SET = `UTF8`; -- Create a table named 'User' CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `age` int(11) DEFAULT NULL, `address` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -- Insert a test record Insert INTO `user` VALUES ('1', 'bijian', '120', 'hangzhou,westlake'); -- drop table drop table `user`;
四.User类
package com.bijian.study.model; public class User { private int id; private String name; private int age; private String address; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } // 如果有带参数的构造器,编译器不会自动生成无参构造器。当查询需要返回对象时,ORM框架用反射来调用对象的无参构造函数,导致异常:java.lang.NoSuchMethodException: com.bijian.study.model.User.<init>() // 这时需要明确写出: public User() { } public User(int id, String address) { this.id = id; this.address = address; } public User(String name, int age, String address) { this.name = name; this.age = age; this.address = address; } }
User.java对应的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.bijian.study.model.UserMapper"> <select id="getUserById" parameterType="int" resultType="User"> select * from `user` where id = #{id} </select> </mapper>
五.测试类
package com.bijian.study.test; import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.BeforeClass; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.bijian.study.model.User; public class MyBatisBasicTest { private static final Logger log = LoggerFactory.getLogger(MyBatisBasicTest.class); private static SqlSessionFactory sqlSessionFactory; private static Reader reader; @BeforeClass public static void initial() { try { reader = Resources.getResourceAsReader("Configuration.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { log.error("Error thrown while reading the configuration: {}", e); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { log.error("Error thrown while closing the reader: {}", e); } } } } @Test public void queryTest() { SqlSession session = sqlSessionFactory.openSession(); User user = (User) session.selectOne("com.bijian.study.model.UserMapper.getUserById", 1); log.info("{}: {}", user.getName(), user.getAddress()); } }
运行单元测试结果:
00:28:18.710 [main] INFO com.bijian.study.test.MyBatisBasicTest - bijian: hangzhou,westlake
相关推荐
在本篇中,我们将深入探讨"Mybatis系列一:开发环境搭建"的相关知识,这将包括如何设置一个基于Maven的Mybatis开发环境,以及如何理解并使用Mybatis的核心概念。首先,我们需要明白Mybatis是一个优秀的持久层框架,...
这篇博客“MyBatis之一(环境搭建)”将引导我们逐步搭建一个基本的MyBatis开发环境。 首先,我们需要理解MyBatis的核心概念。MyBatis是一个轻量级的ORM(对象关系映射)框架,它的主要任务是将数据库操作与业务...
ASP.NET 搭建 MyBatis 开发环境详解 在.NET开发领域,ASP.NET一直以其高效、稳定的特点受到广大开发者青睐。...希望这篇文章能帮助你避免那些错误引导,顺利搭建起MyBatis的开发环境,开启高效编码之旅。
"Eclipse搭建MyBatis智能开发环境" Eclipse 是一个功能强大且广泛使用的集成开发环境(IDE),而 MyBatis 是一个流行的持久层框架。为了提高开发效率和质量,需要在 Eclipse 中安装相应的插件,以便更好地支持 ...
### MyBatis初步环境搭建详解 #### 一、MyBatis概述 MyBatis是一个半自动的ORM(Object Relational Mapping)框架,在当前的企业级应用开发中占据着重要的位置。ORM框架的主要目的是为了简化Java应用程序与数据库...
本文将深入探讨如何使用Maven来搭建一个基于SSM的开发环境,并结合MyBatis Generator进行自动化代码生成。 **一、Maven简介** Maven是一个项目管理和综合工具,它通过读取项目配置文件(pom.xml)来管理项目的构建...
我们将通过以下几个关键步骤来搭建这个环境: 1. **环境准备**: - 首先确保你的开发环境中已经安装了Java JDK和Maven,这两个是Spring Boot项目的基础。 - 接下来,你需要一个IDE,如IntelliJ IDEA或Eclipse,...
### Idea2019+springBoot+Mybatis和...综上所述,通过以上步骤,我们可以成功地搭建起一个基于Idea2019、Spring Boot 和 Mybatis 的开发环境,并利用MyBatis Generator 自动生成所需的代码,从而大大提高了开发效率。
MyEclipse则是一个集成开发环境(IDE),专为Java应用程序开发而设计,支持多种框架,包括MyBatis。这篇文章将指导初学者如何在MyEclipse中搭建MyBatis的开发环境。 首先,确保你已经安装了MyEclipse。如果你还没有...
这个集成开发环境旨在提供一个高效、灵活的开发平台,以实现业务逻辑与数据访问的分离,提高代码的可维护性和可扩展性。 SpringMVC作为Spring框架的一部分,是一个用于构建Web应用程序的轻量级MVC(Model-View-...
Spring+MyBatis环境搭建 本篇资源摘要信息主要介绍了如何搭建Spring 3.0.6 + MyBatis 3.0.6环境。...本篇资源摘要信息提供了详细的 Spring 3.0.6 + MyBatis 3.0.6 环境搭建指南,旨在帮助读者快速搭建开发环境。
在这里,我们将讨论如何搭建一个Mybatis的开发环境,并通过一个简单的增删查改(CRUD)实例来理解其基本用法。 首先,我们需要以下基本环境: 1. **Java Development Kit (JDK)**:确保安装了JDK,并且环境变量配置...
在这个"mybatis plus的环境搭建"项目中,我们将深入探讨如何配置并使用这个工具,以便在实际开发中提高效率。 首先,我们从`pom.xml`文件开始。`pom.xml`是Maven项目的配置文件,用于管理项目的依赖关系。为了引入...
从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建
以上步骤详细介绍了如何在IntelliJ IDEA 14和Maven环境下搭建Mybatis的基础开发环境。通过这个过程,开发者可以快速地开始编写SQL语句,实现与数据库的交互。记得根据实际项目需求调整pom.xml中的依赖版本,确保兼容...
本教程将详细讲解如何搭建MyBatis的开发环境,以便开始愉快的MyBatis编程之旅。 1. **环境需求** 在开始搭建MyBatis环境前,确保已安装以下基础软件: - Java Development Kit (JDK):MyBatis是用Java编写的,...
CXF Restful + Spring3 + Mybatis 后台开发环境搭建
这三种技术结合在一起,能够提供一个强大的、灵活的、可扩展的后端开发环境。 **Spring框架**:作为核心,Spring是一个全面的开源应用框架,它主要解决的是企业应用开发中的复杂性问题。Spring提供了依赖注入(DI)...