`
貌似掉线
  • 浏览: 260522 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mybatis入门

阅读更多
来到YSB(拼音缩写)的RK(拼音缩写)公司实训,当然实际上是暂待两天,在这里先了解了下mybatis框架。
mybatis是一个比较轻量级的持久层框架,与hibernate不同,一些SQL代码要自己写,数据库表也要自己建。
下面是我第一次使用的过程。

这里使用的是mybatic-3.2.1+mysql。
1、首先download到所需的包并加入工程:
http://www.vdisk.cn/down/index/12447775。这是我打包上传的,包括所必须的mytabic-3.2.1.jar,cglib-2.2.2.jar,asm-3.3.1.jar,mysql-connector-java-5.0.8-bin.jar。

2、编写实体类User bean
entity/User.java
package entity;

import java.io.Serializable;

public class User implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3363120264501521428L;

	private String id;
	private String username;
	private String password;
	private String email;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Override
	public String toString() {
		return "User [email=" + email + ", id=" + id + ", password=" + password
				+ ", username=" + username + "]";
	}
}


3、User实体的映射器UserMapper,它是一个接口,不需要去实现。
dao/UserMapper.java
package dao;

import java.util.List;

import entity.User;

/**
 * @author Administrator
 * 
 */
public interface UserMapper {
	/**
	 * 查询所有用户
	 * 
	 * @return
	 */
	public List<User> queryUsers();

	/**
	 * 添加用户
	 * 
	 * @param user
	 */
	public void addUser(User user);

	/**
	 * 删除用户
	 * 
	 * @param id
	 */
	public void delUser(String id);

}


4、映射器对应的配置文件
dao/UserMapper.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="dao.UserMapper">
	<!-- 插入用户 -->
	<insert id="addUser" parameterType="User" >
		INSERT INTO t_user(
		id,
		username,
		password,
		email)
		VALUES(
		#{id},
		#{username},
		#{password},
		#{email})
	</insert>
	<!-- 删除用户 -->
	<delete id="delUser" parameterType="String">
		DELETE FROM t_user WHERE id =
		#{id}
	</delete>
	<!-- 列出用户 -->
	<select id="queryUsers" resultType="User">
		SELECT * FROM t_user
	</select>
</mapper>


5、Mybatis的配置文件:
resource/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>
	<settings>
		<setting name="cacheEnabled" value="false" />
		<setting name="useGeneratedKeys" value="true" />
		<setting name="defaultExecutorType" value="REUSE" />
	</settings>
	<typeAliases>
		<typeAlias alias="User" type="entity.User" />
	</typeAliases>
	<environments default="development">
		<environment id="development">
			<transactionManager type="jdbc"></transactionManager>
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://localhost:3306/mybatic" />
				<property name="username" value="root" />
				<property name="password" value="Geek147852" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<mapper resource="dao/UserMapper.xml" />
	</mappers>
</configuration>


6、获取SqlSessionFactory的工具类
util/MybatisUtil.java
/*  
 * MybaticUtil.java            Project:HelloMybatis  
 * Date:2013-3-1
 *  
 * Copyright (c) 2013 CFuture09, Institute of Software,   
 * Guangdong Ocean University, Zhanjiang, GuangDong, China.  
 * All rights reserved.  
 *  
 * Licensed under the Apache License, Version 2.0 (the "License");  
 *  you may not use this file except in compliance with the License.  
 * You may obtain a copy of the License at  
 *  
 *     http://www.apache.org/licenses/LICENSE-2.0  
 *  
 * Unless required by applicable law or agreed to in writing, software  
 * distributed under the License is distributed on an "AS IS" BASIS,  
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
 * See the License for the specific language governing permissions and  
 * limitations under the License.  
 */

package util;

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
 * 
 * @author Geek_Soledad (66704238@51uc.com)
 */

public class MybatisUtil {

	private static final SqlSessionFactory sessionFactory;
	static {
		String resource = "resource/mybatis-config.xml";
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader(resource);
		} catch (IOException e) {
			e.printStackTrace();
		}
		sessionFactory = new SqlSessionFactoryBuilder().build(reader);
	}

	public static SqlSessionFactory getSessionFactory() {
		return sessionFactory;
	}
}


7、测试代码
dao/UserMapperTest.java
/*  
 * UserMapperTest.java            Project:HelloMybatis  
 * Date:2013-3-1
 *  
 * Copyright (c) 2013 CFuture09, Institute of Software,   
 * Guangdong Ocean University, Zhanjiang, GuangDong, China.  
 * All rights reserved.  
 *  
 * Licensed under the Apache License, Version 2.0 (the "License");  
 *  you may not use this file except in compliance with the License.  
 * You may obtain a copy of the License at  
 *  
 *     http://www.apache.org/licenses/LICENSE-2.0  
 *  
 * Unless required by applicable law or agreed to in writing, software  
 * distributed under the License is distributed on an "AS IS" BASIS,  
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
 * See the License for the specific language governing permissions and  
 * limitations under the License.  
 */

package dao;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import util.MybatisUtil;
import entity.User;


/** 
 *
 * @author Geek_Soledad (66704238@51uc.com)
 */

public class UserMapperTest {
	public static SqlSessionFactory sessionFactory = MybatisUtil.getSessionFactory();

	public SqlSession session;

	private UserMapper userMapper;
	
	@Before
	public void openSession() {
		session = sessionFactory.openSession();
		userMapper = session.getMapper(UserMapper.class);
	}
	
	@After
	public void commitAndcloseSession() {
		session.commit();
		session.close();
	}
	@Test
	public void testAddUser() {
		User user = new User();
		user.setEmail("msdx.android@tom.com");
		user.setUsername("Geek");
		user.setPassword("Soledad");
		userMapper.addUser(user);
	}
	
	@Test
	public void testDelUser() {
		userMapper.delUser("2");
	}
	
	@Test
	public void testQueryUsers() {
		List<User> users = userMapper.queryUsers();
		for (User user : users) {
			System.out.println(user.toString());
		}
	}
}


注:本次入门参考自博客:http://wanqiufeng.blog.51cto.com/409430/515132。本文亦依此而写。
0
1
分享到:
评论

相关推荐

    MyBatis入门到精通

    这篇“MyBatis入门到精通”的学习资料是针对初学者设计的,旨在帮助新手快速掌握MyBatis的基本用法和高级特性。 1. **MyBatis简介** MyBatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,消除...

    0772-Mybatis入门

    Mybatis入门

    mybatis入门案例 mybatis入门案例

    mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例...

    MyBatis入门.pdf

    MyBatis入门 MyBatis是一个优秀的持久层框架,使用XML将SQL与程序解耦,便于维护。MyBatis学习简单,执行高效,是JDBC的延伸。MyBatis提供了数据库增删改查的便捷操作,极大提高了开发效率、统一的编码规则、利于...

    mybatis入门程序

    【标题】"mybatis入门程序"是一个针对初学者的教程,旨在引导他们进入SSM(Spring、SpringMVC和MyBatis)框架的学习。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,极大地简化了Java开发...

    4.2mybatis入门教程(一)

    【MyBatis 入门教程】 MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使你更好地将注意力集中在你的...

    mybatis 入门文档

    ### MyBatis 入门知识点概述 #### 一、MyBatis 概念与特点 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis...

    mybatis入门实例

    综上所述,"mybatis入门实例" 包含了 MyBatis 的核心概念和基本使用方法,通过对单表的 CRUD 操作,帮助初学者快速理解和掌握 MyBatis 的工作原理和实践技巧。在这个实例中,你可以看到从配置到实际操作的全过程,...

    mybatis入门例子

    这个入门例子是针对初次接触 MyBatis 的学习者设计的,旨在通过简单的步骤和清晰的配置,帮助他们快速理解 MyBatis 的基本工作原理和核心特性。数据库环境选择了 Oracle,Oracle 是一款功能强大且广泛使用的商业级...

    Mybatis入门JavaSE案例

    在这个"Mybatis入门JavaSE案例"中,我们将深入理解Mybatis的基本配置、DAO层的注解方式以及XML配置方式。 首先,让我们来了解Mybatis的配置过程。Mybatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含...

    MyBatis入门程序

    这个"MyBatis入门程序"是为初学者设计的,旨在帮助他们快速理解并开始使用MyBatis。在这个程序中,我们将探讨几个关键知识点,包括MyBatis的基本架构、配置、映射文件以及如何连接MySQL数据库。 1. **MyBatis基本...

    第一个mybatis程序 mybatis入门

    【标题】"第一个mybatis程序 mybatis入门" 涉及到的是MyBatis框架的基础使用,这是一个轻量级的Java持久层框架,它简化了与数据库交互的过程,提供了强大的映射功能。以下是对MyBatis入门的详细解析: 1. **MyBatis...

    Mybatis入门程序实现增删改查

    本入门程序旨在帮助初学者掌握Mybatis的基本使用,包括如何进行数据库的增删改查操作。下面我们将深入探讨这个主题。 首先,我们来了解Mybatis的核心概念: 1. **SqlSessionFactory**: 这是Mybatis的主要入口点,...

    mybatis入门项目代码

    【标题】"mybatis入门项目代码"涉及到的是MyBatis框架的基础使用教程,这是一个轻量级的持久层框架,用于简化Java开发中的数据库操作。MyBatis允许开发者编写SQL语句,将数据库查询与应用程序逻辑紧密地结合起来,...

    mybatis入门示例项目

    在本入门示例项目中,我们将深入理解MyBatis的基本使用方法,包括数据库交互、映射文件配置、配置文件加载、Junit测试以及日志记录。 1. 数据库SQL语句:MyBatis的核心功能之一就是将Java对象与数据库中的SQL语句...

    mybatis入门实战之一

    在"mybatis入门实战之一"中,我们将深入探讨MyBatis的基础知识,包括它的安装配置、基本用法以及如何进行简单的增删改查操作。这个实战教程特别适合初学者,因为它涵盖了开发过程中常用的工具如log日志记录和Maven...

    Mybatis 入门到理解篇

    4. Mybatis的基础知识:Mybatis入门需要掌握一些基础的知识,包括配置文件的编写、Java接口的定义、SQL语句的编写等。其中,配置文件主要包括数据库连接信息、SQL语句等。 5. Mybatis与Hibernate的比较:Hibernate...

    MyBatis入门到精通配套资源

    MyBatis是一款强大的Java持久层框架,它实现了SQL与Java代码的解耦,极大地提高了开发效率。本资源包是专为初学者至进阶者设计的一套完整的MyBatis学习资料,旨在帮助开发者全面理解并掌握MyBatis的核心概念和技术。...

    Mybatis入门案例IDEA最新版本

    ### Mybatis框架入门知识点详解 #### 一、框架与Mybatis概述 1. **框架定义**: - **广义定义**:框架是一种系统性的、可重用的设计方案,表现为一组抽象组件及其交互方法。 - **狭义定义**:框架是可由应用...

    mybatis入门级资源

    本资源集合是针对MyBatis入门学习者设计的,涵盖了MyBatis的基本概念、核心功能以及实际应用。 首先,我们需要了解MyBatis的基本概念。MyBatis是一个基于Java的持久层框架,它提供了灵活的SQL映射机制,将SQL语句与...

Global site tag (gtag.js) - Google Analytics