`
貌似掉线
  • 浏览: 262590 次
  • 性别: 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专栏 001 mybatis入门

    Mybatis专栏系列的文章旨在为初学者提供一个从入门到精通的学习路径,而本篇《mybatis专栏 001 mybatis入门》正是这个系列的第一篇文章,为读者揭开Mybatis神秘的面纱。 在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入门案例IDEA最新版本

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

    mybatis入门级资源

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

Global site tag (gtag.js) - Google Analytics