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个文件。
MyBaits的文件夹目录
值得一说的是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 同样放在目录下
新建的MyBatis工程
到此,导入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);
		}
	}
}
最终的测试结果:

最终结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值