`

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比较复杂的话,建议使用配置文件方式

分享到:
评论
发表评论

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

相关推荐

    Java Spring boot框架下mybatis mysql简单应用

    Java Spring boot框架下mybatis mysql简单应用 简单的应用

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

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

    mybatis的简单应用.zip

    mybatis初级应用,对数据库数据的查询(精确查询、模糊查询)、添加、修改、删除。包含了需要用到的所有jar包。数据库使用mysql,测试类使用的单元测试,jdk使用1.8,数据库版本MySql8.0

    SpringMVC + mybatis + mysql简单应用

    SpringMVC + mybatis + mysql简单应用

    Mybatis基本应用开源架构源码2021.pdf

    MyBatis基本应用开源架构源码2021.pdf MyBatis是当前最流行的持久层框架之一,它提供了一个简单且高效的方式来访问和操作数据库。MyBatis的主要特点是它可以将Java对象与SQL语句分离,使得开发者可以更加专注于业务...

    WebService CXF、 Mybatis简单实例

    WebService CXF同步通信接口编程和Mybatis , Spring 的简单应用。值得初学者和开发中用到的同学借鉴。

    MyBatis详解_与配置MyBatis

    MyBatis 只使用简单的 XML 和注解来配置和映射基本数据类型、Map 接口和 POJO 到数据库记录。相对 Hibernate 和 Apache OJB 等“一站式”ORM 解决方案而言,Mybatis 是一种“半自动化”的 ORM 实现。 MyBatis 的...

    MyBatis框架简单的知识点总结.zip

    • SqlSession:SqlSession 是 MyBatis 的核心接口,它的生命周期是存在于一个应用的一次请求操作中,最佳的作用域是方法体内,执行完成后应该立即关闭。 • Executor:它是 MyBatis 的执行器,负责 SQL 语

    MyBatis框架简单的知识点总结.docx

    • SqlSession:SqlSession 是 MyBatis 的核心接口,它的生命周期是存在于一个应用的一次请求操作中,最佳的作用域是方法体内,执行完成后应该立即关闭。 • Executor:它是 MyBatis 的执行器,负责 SQL 语

    mybatis-3.2.5.jar及mybatis-spring-1.2.2.jar

    这个类库也提供一个简单的方式来注入 MyBatis 数据映射器和 SqlSession 到业务层的 bean 中。 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常(数据访问异常,译者注)中。最终,它并 ...

    Mybatis框架入门项目

    一个简单的Mybatis框架应用实例,使用MyEclipse10+MySqL数据库开发。

    mybatis-3.1.1-bundle

    MyBatis ORM框架 MyBatis开发工具 开发文档 What is MyBatis-Spring? MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中...最终,它并 不会依赖于 MyBatis,Spring 或 MyBatis-Spring 来构建应用程序代码。

    mybatis使用实例

    包含纯mybatis使用,mybatis-spring使用的3个简单示例项目。

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    mybatis-spring-1.2.3

    这个类库也提供一个简单的方式来注入 MyBatis 数据映射器和 SqlSession 到业务层的 bean 中。 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常(数据访问异常,译者注)中。最终,它并 ...

    MyBatis 分页插件PageHelper Demo

    MyBatis PageHelper的简单应用的Demo,r如有帮助不胜感激

    myBatis相关全部jar包

    灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。 解除sql与程序代码的耦合:通过...

    什么是Mybatis

    1、理解什么是mybatis,以及mybatis的应用场景 2、使用mybatis开发demo 3、熟悉mybatis的配置文件,以后spring的时候,没有用。 4、会使用mybatis实现简单增删改查 ①Insert delete update select 标签使用

    Mybatis.PDF

    本书中从一个简单的 MyBatis 查询入手,搭建起学习 MyBatis 的基础开发环境。通过全面的示例代码 和测试讲解了在 MyBatis XML 方式和注解方式中进行增、册 改、查操作的基本用法,介绍了动态 SQL 在不同方面的应用...

Global site tag (gtag.js) - Google Analytics