MyBatis——环境搭建

Posted 小可爱的大笨蛋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis——环境搭建相关的知识,希望对你有一定的参考价值。

一、 MyBatis 介绍

1. MyBatis参考文档

http://www.mybatis.org/mybatis-3/zh/index.html (中文)

2. 什么是MyBaits?

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

二、 MyBatis环境搭建

1. 文件目录介绍

下载MyBatis后,整个文件夹中会有一个文件夹和5个文件。

值得一说的是MyBatis提供了中文版的文档。

2. 需要的Jar包

在刚开始使用MyBatis时,只需要mybatis.jar这个Jar包。
因为使用的是mysql数据库,所以需要MySQL数据库的驱动包。

3. 导入Jar包

第一步:打开Eclipse,新建一个Dynamic Web Project
第二步:将mybatis.jar放在 工程目录\\WebContent下\\WEB-INF\\lib目录下。
第三步:将mysql-connector-java-5.1.47.jar 同样放在目录下

到此,导入Jar包的工作已经完成。

4. 配置MyBatis的配置文件

MyBaits的配置文件是MyBatis的重中之重,在配置文件中包含了MyBatis的一些配置信息,包括访问数据库的驱动名称,url,username,password等属性。

配置文件的整个过程包括:
 第一步:在src目录下新建mybatis.xml文件。
 第二步:复制官方文档中的DTD到mybatis。
 第三步:配置XML文件。

在导入DTD后,mybatis.xml只有一个标签,即configuration标签,用来配置Mybaits,在configuration变迁下可以使用environments声明多个环境,在此标签下可以使用environment声明多个数据库连接环境,通过environments的标签中的default属性选择environment中的id属性选择合适的连接环境。

<?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>
	<!--  default引用environment的id,当前所使用的环境  -->
	<environments default="mysql">
		<!-- 声明可以使用的环境 -->
		<environment id="mysql">
			<!-- 使用原生JDBC -->
			<transactionManager type="JDBC"></transactionManager>
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
				<property name="username" value="root"/>
				<property name="password" value="root"/>
			</dataSource>
		</environment>
	</environments>
</configuration>

到此,简单的MyBatis配置已经完成。

三、 MyBaits初使用

1. 设计数据库

根据需求设计一个person表,在该表中包括用户的姓名,年龄,性别等信息。

//使用ssm数据库
use ssm;	
// 创建一个person表,包括id,name,age,sex属性
create table person(
	id int(10) primary key auto_increment,
    name varchar(20) not null,
    age int(3) not null,
    sex varchar(3) not null 
);
// 插入三条数据
insert into person value(default,'张三',20,'男');
insert into person value(default,'李四',19,'女');
insert into person value(default,'王五',22,'男');
// 查询结果
select * from person;

2. 实体类的编写

根据设计的数据库,设计一个Person类,包含属性id、name、age、sex。放在xyz.tulling.pojo包下,生成get,set以及toString方法。

package xyz.tulling.pojo;

public class Person 

	private int id;
	private String name;
	private int age;
	private String sex;

	public int getId() 
		return id;
	

	public void setId(int id) 
		this.id = id;
	

	public String getName() 
		return name;
	

	public void setName(String name) 
		this.name = name;
	

	public int getAge() 
		return age;
	

	public void setAge(int age) 
		this.age = age;
	

	public String getSex() 
		return sex;
	

	public void setSex(String sex) 
		this.sex = sex;
	

	@Override
	public String toString() 
		return "Person [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + "]";
	

3. XXXMpper.xml的编写

mapper.xml 是用来进行sql语句编写,可以实现增删查改,用来代替原来的Dao层的代码。

编写步骤:
  第一步:在xyz.tulling.mapper包下新建PersonMapper.xml
  第二步:在PersonMapper.xml中添加DTD。
  第三步:编写主体部分,实现查询全部功能。
<?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">
<!-- namespace就相当于Java的包名+类名 -->
<mapper namespace="xyz.tulling.mapper.PersonMapper">
	<!-- id相当于Java的方法名,resultType的返回值类型 -->
	<select id="selAll" resultType="xyz.tulling.pojo.Person">
		select * from person
	</select>
</mapper>

4. 在mybatis.xml中注册XXXMapper

	<mappers>
		<mapper resource="xyz/tulling/mapper/PersonMapper.xml"/>
	</mappers>
	注意:需要放在environments 标签后面,mybaits.xml中存在先后顺序.

4. 测试类的编写

测试类用来测试是否能够正确的进行查询任务.

步骤:
  + 在xyz.tulling.test目录下创建Test类
  + 使用Resources.getResourceAsStream("mybatis.xml")获取到一个IO流。
  + 生产一个SqlSessionFactory对象。
  +	使用工厂,生产一个SqlSession对象。
  +	使用SqlSession对像执行sql命令。 
package xyz.tulling.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import xyz.tulling.pojo.Person;
public class Test 

	public static void main(String[] args) throws IOException 
		InputStream is = Resources.getResourceAsStream("mybatis.xml");
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		SqlSession session = factory.openSession();
		List<Person> personList = session.selectList("xyz.tulling.mapper.PersonMapper.selAll");
		for (Person person : personList) 
			System.out.println(person);
		
	

最终的测试结果:

以上是关于MyBatis——环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis——环境搭建

Mybatis 环境搭建

MyBatis环境搭建

MyBatis(一) —— 环境搭建

mybatis学习:mybatis的环境搭建

Mybatis的环境的搭建和使用