`

myBatis系列之一:搭建开发环境

阅读更多
myBatis系列之二:以接口方式交互数据
myBatis系列之三:增删改查
myBatis系列之四:关联数据的查询
myBatis系列之五:与Spring3集成
myBatis系列之六:与SpringMVC集成
myBatis系列之七:事务管理


1. pom.xml文件中加入mybatis和数据库依赖,这里使用mysql:

  <properties>
    <mybatis.version>3.2.3</mybatis.version>
    <mysql.version>5.1.26</mysql.version>
    <slf4j.api.version>1.7.5</slf4j.api.version>
    <testng.version>6.8.7</testng.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis.version}</version>
    </dependency>
    <!-- Database driver -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
    </dependency>
    <!-- mybatis启动要加载log4j -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.api.version}</version>
    </dependency>
    <!-- Test -->
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>${testng.version}</version>
    </dependency>
  </dependencies>


2. 在类路径下创建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.john.hbatis.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://localhost:3306/hbatis" />
			<property name="username" value="root" />
			<property name="password" value="123456" />
		</dataSource>
	  </environment>
	</environments>
	
	<mappers><!-- ORM映射文件 -->
		<mapper resource="com/john/hbatis/model/User.xml" />
	</mappers>
 </configuration>


3. 执行创建数据库和表的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', 'john', '120', 'hangzhou,westlake');


4. com.john.hbatis.model.User类:
public class User {
    private int id;
    private String name;
    private String age;
    private String address;
    // Getters and setters are omitted

    // 如果有带参数的构造器,编译器不会自动生成无参构造器。当查询需要返回对象时,ORM框架用反射来调用对象的无参构造函数,导致异常:java.lang.NoSuchMethodException: com.john.hbatis.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;
    }
}


com/john/hbatis/model路径下的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.john.hbatis.model.UserMapper">
	<select id="getUserById" parameterType="int" resultType="User">
		select * from `user` where id = #{id}
	</select>
</mapper>


5. 测试类:
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.john.hbatis.model.UserMapper.getUserById", 1);
		log.info("{}: {}", user.getName(), user.getAddress());
	}
}


参考:
http://www.yihaomen.com/article/java/303.htm
分享到:
评论

相关推荐

    mybatis系列一:开发环境搭建

    在本篇中,我们将深入探讨"Mybatis系列一:开发环境搭建"的相关知识,这将包括如何设置一个基于Maven的Mybatis开发环境,以及如何理解并使用Mybatis的核心概念。首先,我们需要明白Mybatis是一个优秀的持久层框架,...

    MyBatis之一(环境搭建)

    这篇博客“MyBatis之一(环境搭建)”将引导我们逐步搭建一个基本的MyBatis开发环境。 首先,我们需要理解MyBatis的核心概念。MyBatis是一个轻量级的ORM(对象关系映射)框架,它的主要任务是将数据库操作与业务...

    asp.net搭建mybatis开发环境

    ASP.NET 搭建 MyBatis 开发环境详解 在.NET开发领域,ASP.NET一直以其高效、稳定的特点受到广大开发者青睐。...希望这篇文章能帮助你避免那些错误引导,顺利搭建起MyBatis的开发环境,开启高效编码之旅。

    Eclipse搭建MyBatis智能开发环境.docx

    "Eclipse搭建MyBatis智能开发环境" Eclipse 是一个功能强大且广泛使用的集成开发环境(IDE),而 MyBatis 是一个流行的持久层框架。为了提高开发效率和质量,需要在 Eclipse 中安装相应的插件,以便更好地支持 ...

    mybatis初步环境搭建

    ### MyBatis初步环境搭建详解 #### 一、MyBatis概述 MyBatis是一个半自动的ORM(Object Relational Mapping)框架,在当前的企业级应用开发中占据着重要的位置。ORM框架的主要目的是为了简化Java应用程序与数据库...

    maven+Spring+SpringMVC+mybatis+mybatis-generator 搭建SSM开发环境

    本文将深入探讨如何使用Maven来搭建一个基于SSM的开发环境,并结合MyBatis Generator进行自动化代码生成。 **一、Maven简介** Maven是一个项目管理和综合工具,它通过读取项目配置文件(pom.xml)来管理项目的构建...

    Spring Boot整合Mybatis环境搭建示例

    我们将通过以下几个关键步骤来搭建这个环境: 1. **环境准备**: - 首先确保你的开发环境中已经安装了Java JDK和Maven,这两个是Spring Boot项目的基础。 - 接下来,你需要一个IDE,如IntelliJ IDEA或Eclipse,...

    Idea2019+springBoot+Mybatis和环境搭建

    ### Idea2019+springBoot+Mybatis和...综上所述,通过以上步骤,我们可以成功地搭建起一个基于Idea2019、Spring Boot 和 Mybatis 的开发环境,并利用MyBatis Generator 自动生成所需的代码,从而大大提高了开发效率。

    MyBatis-搭建MyBatis开发环境一(MyEclipse版)

    MyEclipse则是一个集成开发环境(IDE),专为Java应用程序开发而设计,支持多种框架,包括MyBatis。这篇文章将指导初学者如何在MyEclipse中搭建MyBatis的开发环境。 首先,确保你已经安装了MyEclipse。如果你还没有...

    SpringMVC+Spring+Mybatis集成开发环境

    这个集成开发环境旨在提供一个高效、灵活的开发平台,以实现业务逻辑与数据访问的分离,提高代码的可维护性和可扩展性。 SpringMVC作为Spring框架的一部分,是一个用于构建Web应用程序的轻量级MVC(Model-View-...

    Spring+mybatis环境搭建

    Spring+MyBatis环境搭建 本篇资源摘要信息主要介绍了如何搭建Spring 3.0.6 + MyBatis 3.0.6环境。...本篇资源摘要信息提供了详细的 Spring 3.0.6 + MyBatis 3.0.6 环境搭建指南,旨在帮助读者快速搭建开发环境。

    Mybatis环境搭建

    在这里,我们将讨论如何搭建一个Mybatis的开发环境,并通过一个简单的增删查改(CRUD)实例来理解其基本用法。 首先,我们需要以下基本环境: 1. **Java Development Kit (JDK)**:确保安装了JDK,并且环境变量配置...

    Mybatis Plus环境搭建项目代码

    在这个"mybatis plus的环境搭建"项目中,我们将深入探讨如何配置并使用这个工具,以便在实际开发中提高效率。 首先,我们从`pom.xml`文件开始。`pom.xml`是Maven项目的配置文件,用于管理项目的依赖关系。为了引入...

    从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建.docx

    从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建

    mybatis环境搭建

    以上步骤详细介绍了如何在IntelliJ IDEA 14和Maven环境下搭建Mybatis的基础开发环境。通过这个过程,开发者可以快速地开始编写SQL语句,实现与数据库的交互。记得根据实际项目需求调整pom.xml中的依赖版本,确保兼容...

    MyBatis环境搭建详细过程

    本教程将详细讲解如何搭建MyBatis的开发环境,以便开始愉快的MyBatis编程之旅。 1. **环境需求** 在开始搭建MyBatis环境前,确保已安装以下基础软件: - Java Development Kit (JDK):MyBatis是用Java编写的,...

    CXF Restful + Spring3 + Mybatis 后台开发环境搭建

    CXF Restful + Spring3 + Mybatis 后台开发环境搭建

    mybatis+struts+spring搭建好的框架

    这三种技术结合在一起,能够提供一个强大的、灵活的、可扩展的后端开发环境。 **Spring框架**:作为核心,Spring是一个全面的开源应用框架,它主要解决的是企业应用开发中的复杂性问题。Spring提供了依赖注入(DI)...

Global site tag (gtag.js) - Google Analytics