环境及软件:
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:
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简单应用 简单的应用
mybatis的简单应用共7页.pdf.zip
mybatis初级应用,对数据库数据的查询(精确查询、模糊查询)、添加、修改、删除。包含了需要用到的所有jar包。数据库使用mysql,测试类使用的单元测试,jdk使用1.8,数据库版本MySql8.0
SpringMVC + mybatis + mysql简单应用
MyBatis基本应用开源架构源码2021.pdf MyBatis是当前最流行的持久层框架之一,它提供了一个简单且高效的方式来访问和操作数据库。MyBatis的主要特点是它可以将Java对象与SQL语句分离,使得开发者可以更加专注于业务...
WebService CXF同步通信接口编程和Mybatis , Spring 的简单应用。值得初学者和开发中用到的同学借鉴。
MyBatis 只使用简单的 XML 和注解来配置和映射基本数据类型、Map 接口和 POJO 到数据库记录。相对 Hibernate 和 Apache OJB 等“一站式”ORM 解决方案而言,Mybatis 是一种“半自动化”的 ORM 实现。 MyBatis 的...
• SqlSession:SqlSession 是 MyBatis 的核心接口,它的生命周期是存在于一个应用的一次请求操作中,最佳的作用域是方法体内,执行完成后应该立即关闭。 • Executor:它是 MyBatis 的执行器,负责 SQL 语
• SqlSession:SqlSession 是 MyBatis 的核心接口,它的生命周期是存在于一个应用的一次请求操作中,最佳的作用域是方法体内,执行完成后应该立即关闭。 • Executor:它是 MyBatis 的执行器,负责 SQL 语
这个类库也提供一个简单的方式来注入 MyBatis 数据映射器和 SqlSession 到业务层的 bean 中。 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常(数据访问异常,译者注)中。最终,它并 ...
一个简单的Mybatis框架应用实例,使用MyEclipse10+MySqL数据库开发。
MyBatis ORM框架 MyBatis开发工具 开发文档 What is MyBatis-Spring? MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中...最终,它并 不会依赖于 MyBatis,Spring 或 MyBatis-Spring 来构建应用程序代码。
包含纯mybatis使用,mybatis-spring使用的3个简单示例项目。
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...
这个类库也提供一个简单的方式来注入 MyBatis 数据映射器和 SqlSession 到业务层的 bean 中。 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常(数据访问异常,译者注)中。最终,它并 ...
MyBatis PageHelper的简单应用的Demo,r如有帮助不胜感激
灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。 解除sql与程序代码的耦合:通过...
1、理解什么是mybatis,以及mybatis的应用场景 2、使用mybatis开发demo 3、熟悉mybatis的配置文件,以后spring的时候,没有用。 4、会使用mybatis实现简单增删改查 ①Insert delete update select 标签使用
本书中从一个简单的 MyBatis 查询入手,搭建起学习 MyBatis 的基础开发环境。通过全面的示例代码 和测试讲解了在 MyBatis XML 方式和注解方式中进行增、册 改、查操作的基本用法,介绍了动态 SQL 在不同方面的应用...