`

MyBatis简单应用

阅读更多

 环境及软件:

MyEclipse 8,5 & mysql5.1 & jdk 1.6 

jar包:

mybatis-3.0.3.jar(可在网上下载http://code.google.com/p/mybatis/)

mysql-connector-java-5.1.6-bin.jar

 

配置文件:

db.properties:见ibatis简单应用

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>
	<properties resource="db.properties"/>
	<typeAliases>  
        <typeAlias type="Test" alias="Test"/>  
    </typeAliases> 
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="UNPOOLED">
				<property name="driver" value="${driver}" />
				<property name="url" value="${url}" />
				<property name="username" value="${username}" />
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<!-- sql映射文件 -->
		<mapper resource="Test.xml" />
	</mappers>
</configuration> 

 JavaBean:

见ibatis简单应用

 

JavaBean相应的sql映射文件:

Test.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.ontheway.mybatis">
	<select id="selectAll" resultType="Test">
		select * from test
	</select>
	<select parameterType="int" id="selectTestById" resultType="Test">
		select * from test where id=#{id}
	</select>
	<insert id="add" parameterType="test">
		insert into test(id,name)
		values(#{id},#{name})
	</insert>
	<update id="update" parameterType="Test">
		update test set name=#{name}
		where id=#{id}
	</update>
	<select id="fuzzyRetrieve" parameterType="String" resultType="Test">
		select * from test where name like #{name}
	</select>
	<delete id="delete" parameterType="int">
		delete from test where
		id=#{id}
	</delete>
</mapper>

 工具类: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;

public class SqlSessionFactoryUtil {
	private static SqlSessionFactory sqlSessionFactory = null;  
	static {  
		String resource = "Configuration.xml";  
		try {  
			Reader reader = Resources.getResourceAsReader(resource);  
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);  
		} catch (IOException e) {  
			e.printStackTrace();  
		}  
	}  

	public static SqlSessionFactory getSqlSessionFactory() {  
		return sqlSessionFactory;  
	}  

	public static SqlSession getSqlSession() {  
		return sqlSessionFactory.openSession();  
	}  

	public static void closeSession(SqlSession sqlSession) {  
		if(sqlSession != null) {  
			sqlSession.close();  
		}  
	}  
}

 接口:import java.util.List;

public interface TestDao {
	public void add(Test test);
	public void delete(int id);
	public void update(Test test);
	public List<Test>query();
	public List<Test> query(String name);
	public Test query(int id);
}

 

接口实现类:
import java.util.List;
import org.apache.ibatis.session.SqlSession;

public class ITestDaoImpl implements TestDao {
	public void add(Test test){
		SqlSession session = SqlSessionFactoryUtil.getSqlSession();
		try{
			session.insert("com.ontheway.mybatis.add",test);
			session.commit();
		}catch(Exception e){
			e.printStackTrace();
			session.rollback();
		}finally{
			SqlSessionFactoryUtil.closeSession(session); 
		}
	}

	public void delete(int id){
		SqlSession session = SqlSessionFactoryUtil.getSqlSession();
		try{
			session.delete("com.ontheway.mybatis.delete",id);
			session.commit();
		}catch(Exception e){
			e.printStackTrace();
			session.rollback();
		}finally{
			SqlSessionFactoryUtil.closeSession(session); 
		}
	}

	@SuppressWarnings("unchecked")
	public List<Test> query(){

		SqlSession session = SqlSessionFactoryUtil.getSqlSession();
		List<Test>list = null;
		try{
			list = session.selectList("com.ontheway.mybatis.selectAll");

		}catch(Exception e){
			e.printStackTrace();
		}finally{
			SqlSessionFactoryUtil.closeSession(session); 
		}
		return list;
	}

	@SuppressWarnings("unchecked")
	public List<Test> query(String name){

		SqlSession session = SqlSessionFactoryUtil.getSqlSession();
		List<Test>list = null;
		try{
			list = session.selectList("com.ontheway.mybatis.fuzzyRetrieve", name);

		}catch(Exception e){
			e.printStackTrace();
		}finally{
			SqlSessionFactoryUtil.closeSession(session); 
		}
		return list;
	}

	public Test query(int id){

		SqlSession session = SqlSessionFactoryUtil.getSqlSession();
		Test test = null;
		try{
			test = (Test)session.selectOne("com.ontheway.mybatis.selectTestById", id);
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			SqlSessionFactoryUtil.closeSession(session); 
		}
		return test;
	}

	public void update(Test test){

		SqlSession session = SqlSessionFactoryUtil.getSqlSession();
		try{
			session.update("com.ontheway.mybatis.update", test);
			session.commit();
		}catch(Exception e){
			e.printStackTrace();
			session.rollback();
		}finally{
			SqlSessionFactoryUtil.closeSession(session); 
		}
	}
 现在的MyBatis即就是以前的ibatis,并且现在的写法和hibernate很相似的

sql语句还是自己写

没有类映射文件

这里只是列举了xml文件方式,还可以使用注解方式,只是如果sql比较复杂的话,建议使用配置文件方式

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    springBoot+mybatis简单demo完整详细版

    在本项目"springBoot+mybatis简单demo完整详细版"中,我们将深入探讨如何使用Spring Boot与MyBatis框架构建一个简单的应用。Spring Boot以其快速启动、自动化配置和开箱即用的特点,大大简化了Java应用程序的开发...

    spring、mybatis企业应用实战全书代码

    《Spring与Mybatis企业应用实战全书》的代码资源涵盖了Spring框架、Mybatis持久层框架以及SpringMVC的实战应用,对于JavaEE开发者来说是一份非常宝贵的参考资料。这份压缩包包含的不仅仅是源码,更是深入理解和实践...

    springmvc mybatis 简单登录功能

    在本项目中,"springmvc ...通过学习和实践这个项目,初学者可以掌握Spring、SpringMVC和MyBatis的整合应用,了解一个简单的登录功能是如何从用户交互到数据库操作的完整流程。同时,这也是构建更复杂Web应用的基础。

    SpringBoot+MyBatis简单数据访问应用的实例代码

    SpringBoot+MyBatis简单数据访问应用的实例代码 本文主要介绍了使用 SpringBoot 和 MyBatis 构建简单数据访问应用的实例代码,涵盖了从 Maven 依赖项到数据库连接的整个过程。 一、 Maven 依赖项 在 Pom 文件中,...

    spring+mybatis企业应用实战 PDF完整目录 方便阅读器跳转阅读

    Mybatis与Spring的集成,使得事务管理、数据源配置等变得更加简单。 书中的完整目录通常会涵盖以下几个主要部分: 1. **Spring框架基础**:介绍Spring的核心概念,包括IoC容器、AOP、Bean的生命周期等,并展示如何...

    spring整合mybatis简单项目

    在本项目中,“Spring整合Mybatis简单项目”旨在教授初学者如何将两个流行的Java框架——Spring和Mybatis结合,以实现一个简单的影视资源管理系统。这个系统可能会包括资源的增删改查、分类管理等功能,帮助用户高效...

    Spring MVC+MYBatis企业应用实战

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 SSM框架组合,即Spring、Spring MVC和MyBatis的集成,是当前Java Web...

    MyBatis简单入门实例

    【标题】"MyBatis简单入门实例"是一个关于学习MyBatis基础操作的教程,适合初学者了解并实践这个流行的Java持久层框架。MyBatis是一个优秀的轻量级ORM(对象关系映射)框架,它简化了数据库操作,将SQL语句与Java...

    Spring+Mybatis企业应用实战_java_mybatis_

    此外,Spring的DAO支持可以进一步简化Mybatis的使用,通过注解或者XML配置,将Mapper接口与XML配置的SQL绑定,使得调用数据库如同调用本地方法一般简单。 在企业应用实战中,Spring和Mybatis的整合涉及到多个方面,...

    mybatis的简单应用共7页.pdf.zip

    【标题】"mybatis的简单应用共7页.pdf.zip" 提供的信息暗示了这是一个关于MyBatis框架的基础教程,可能涵盖了MyBatis的核心概念、基本用法和常见应用场景。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储...

    javaSwing+mybatis 简单的学生管理系统

    JavaSwing+MyBatis简单学生管理系统是一款基于Java桌面应用技术与持久层框架MyBatis构建的信息管理软件。这个系统的主要目标是实现对学生信息的有效存储、检索和管理,适用于教育机构或个人学习使用。开发环境为Java...

    spring+mybatis 简单实例图书管理系统

    这个简单实例的学习价值在于,它可以帮助初学者理解如何将Spring和MyBatis结合使用来构建一个完整的应用程序。开发者可以通过这个例子学习到如何配置Spring的Bean,如何创建MyBatis的Mapper,以及如何在Spring中调用...

    mybatis简单例子

    标题 "mybatis简单例子" 涉及到的是MyBatis这一流行的数据持久层框架的实践应用。MyBatis是一个轻量级的Java框架,它允许开发者将SQL语句直接映射到Java方法,简化了数据库操作。在这个简单的例子中,我们将探讨如何...

    Spring-mvc mybatis 简单结合架包

    Spring MVC 作为 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序,而 MyBatis 是一个优秀的持久层框架,它简化了数据库与 Java 代码之间的交互。将两者结合使用,可以实现高效...

    SpringMVC+Mybatis简单例子

    本示例项目"SpringMVC+Mybatis简单例子"旨在帮助开发者了解如何将这两个框架集成到一个应用程序中,以实现高效的数据访问和业务逻辑处理。下面,我们将深入探讨这两个框架以及它们在实际项目中的应用。 首先,...

    MyBatis高级应用:实现自定义分页插件

    MyBatis 是一个流行的 Java 持久层框架,它提供了简单而强大的数据库操作能力。在处理大量数据时,分页功能是必不可少的。MyBatis 原生支持分页,但是它通常依赖于数据库特定的 SQL 语法。为了提高代码的可维护性...

    Spring MVC与MYBatis企业应用实战.pdf

    MYBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 3. **Spring MVC与MYBatis集成** 在企业应用中,Spring MVC与MYBatis的...

    mybatis基本例子的简单实现

    这个简单的MyBatis实现例子不仅展示了基础的CRUD操作,还可能涉及了如何处理复杂的查询和异常情况。通过阅读“mybatis映射笔记.odt”文档,你可以深入了解在实际开发中如何解决遇到的映射问题,从而提升MyBatis的...

    spring boot + mybatis 简单配置

    在本文中,我们将深入探讨如何使用Spring Boot与MyBatis框架进行简单集成和配置。Spring Boot以其便捷的启动和运行特性,以及对多种技术的自动配置,极大地简化了Java应用的开发过程。而MyBatis作为一款轻量级的持久...

Global site tag (gtag.js) - Google Analytics