关闭

MyBatis基本使用步骤

标签: mybatis基本步骤
3389人阅读 评论(0) 收藏 举报
分类:

         MyBatis是一个数据持久层(ORM)框架。把实体 类和SQL语句之间建立了映射关系,是一种半自 动化的ORM实现。MyBATIS需要开发人员自己来写sql语句,这可以增加了程序的灵活性,在一定程度上可以作为ORM的一种补充。

什么情况下不适合全自动化框架:

1)系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开;

2)开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就金融行业而言,工商银行、中国银行、交通银行,都在开发规范中严格指定);

3)系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。

 

MyBatis基本要素:

1.  configuration.xml 全局配置文件

2.  xml映射文件(mapper)—实体类

3.  SqlSession接口

 

使用准备工作:

1.  需要的jar包:mybatis-3.2.2.jar,mysql-connector-java-5.1.26-bin.jar;

2.  在eclipse中添加相关的dtd文件(XML Catalog): mybatis-3-config.dtd,mybatis-3-mapper.dtd,方便创建xml配置文件,注意dtd文件不要放在中文目录下;

Key:-//mybatis.org//DTD Config 3.0//EN

-//mybatis.org//DTDMapper 3.0//EN

3.  创建核心配置文件mybatis.xml,放在src目录下;

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd" >
<configuration>
	<!-- 类型别名设置 -->
	<typeAliases>
		<typeAlias alias="Stu" type="com.it.entity.Stu"/>
	</typeAliases>
	<environments default="xx">
		<environment id="xx">
			<!-- 事务管理 -->
			<transactionManager type="jdbc"/>
			<!-- 数据库连接池 -->
			<dataSource type="pooled">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
				<property name="username" value="root"/>
				<property name="password" value="ok"/>
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<!-- 对应实体类的映射文件路径 -->
		<mapper resource="com/it/entity/Stu.xml"/>
	</mappers>
</configuration>

4.  创建实体类(POJO)--Stu.java

5.  创建与之对应的映射文件Stu.xml,与实体类在同一个目录下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="stu">
	<select id="findAll" resultType="Stu">
		select * from stu
	</select>
</mapper>

6.  创建测试类

public class Test {

	public static void findAll() {
		try {
			Reader reader = Resources.getResourceAsReader("mybatis.xml");
			// 工厂
			SqlSessionFactory factory = new SqlSessionFactoryBuilder()
					.build(reader);
			// session
			SqlSession session = factory.openSession();
			List<Stu> ls = session.selectList("stu.findAll");
			for (Stu s : ls) {
				System.out.println(s.getSid() + "\t" + s.getSname() + "\t"
						+ s.getSsex() + "\t" + s.getSbirth());
			}
			// close
			session.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		findAll();
	}

}




1
0
查看评论

使用mybatis的两种方式

使用mybatis两种方式有两种方式使用mybatis 1、基于传统方式statementid 方式 2、基于Mapper接口方式调用代码片段// 1、传统的使用 statementId方式//先确定statementId全限定名 final String statementId = "c...
  • nicewuranran
  • nicewuranran
  • 2016-05-31 21:49
  • 5624

Mybatis入门使用总结

1.什么是Mybatis
  • ya_1249463314
  • ya_1249463314
  • 2016-12-13 22:38
  • 628

【持久化框架】Mybatis简介与原理

mybatis简单小巧易于上手,方便浏览修改sql语句
  • jiuqiyuliang
  • jiuqiyuliang
  • 2015-04-28 08:08
  • 219420

mybatis实战教程(mybatis in action),mybatis入门到精通

MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建mybatis实战教程mybatis in action之二以接口的方式编程mybatis实战教程mybatis in action之三实现数据的增删改查mybatis实战教程mybati...
  • techbirds_bao
  • techbirds_bao
  • 2013-07-03 14:34
  • 565238

MyBatis -- 一步步教你使用MyBatis

1、建立开发环境 1.1  创建项目,java项目或者javaweb项目均可,如图: 1.2  添加所需要的jar包到项目lib目录下 一个MyBatis-3.2.4.jar包 一个驱动包mysql-connector-java-5.1.6.jar包 1.3 &...
  • u014034854
  • u014034854
  • 2015-08-05 21:19
  • 3766

Mybatis使用技巧

以下就总结一下Mybatis的使用中的一些不太注意的技巧,算是Mybatis的总结笔记。 1、插入时主键返回      我们向数据库插入一条记录是,使用Mybatis的是无法返回插入的主键的,而我们需要这个刚插入的主键,可以如下返回     ...
  • fengshizty
  • fengshizty
  • 2015-12-12 11:26
  • 2464

mybatis #与$的区别与用法

随着开发团队转投Google Code旗下,ibatis3.x正式更名为Mybatis 我在开发过程中,我主要是喜欢mybatis可以让开发者灵活的编写sql语句。其中动态变量算是用的最多的了。 mybatis支持两种动态的往sql语句中嵌入变量的方式,一种是用#,另一种是$。 #appId#...
  • p2510899959
  • p2510899959
  • 2017-03-06 11:24
  • 438

深入浅出MyBatis-快速入门

简介 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis...
  • hupanfeng
  • hupanfeng
  • 2013-06-09 21:28
  • 176182

Mybatis初学使用方法总结

MyBatis 简单使用总结
  • diaomeng11
  • diaomeng11
  • 2016-09-10 11:16
  • 1157

mybatis用法(一)mybatis中的#和$的区别

1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#, 如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id&qu...
  • zengdeqing2012
  • zengdeqing2012
  • 2016-03-30 18:19
  • 1240
    个人资料
    • 访问:302249次
    • 积分:4904
    • 等级:
    • 排名:第6926名
    • 原创:170篇
    • 转载:253篇
    • 译文:5篇
    • 评论:30条
    最新评论