MyBatis——环境搭建
Posted 小可爱的大笨蛋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis——环境搭建相关的知识,希望对你有一定的参考价值。
一、 MyBatis 介绍
1. MyBatis参考文档
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——环境搭建的主要内容,如果未能解决你的问题,请参考以下文章