一、基本介绍
MyBatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和POJO(Plain Old Java Object,普通的Java对象)映射成数据库中的记录。
二、快速入门
2.1 准备开发环境
1.创建测试项目,普通Java项目或JavaWeb项目均可;
2.添加mybatis的jar包及MySQL驱动包;
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.8</version>
</dependency>
</dependencies>
3.创建数据库和表;
至此,前期的开发环境准备工作全部完成。
2.2 使用MyBatis查询表中的数据
1.添加MyBatis的配置文件conf.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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mysql" />
<property name="username" value="root" />
<property name="password" value="#######" />
</dataSource>
</environment>
</environments>
</configuration>
2.在com.domain包中定义表所对应的实体类;
3.定义操作student表的SQL映射文件studentMapper.xml
创建一个com.mapping包,专门用于存放SQL映射文件,在包中创建一个studentMapper.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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
例如namespace="com.mapping.studentMapper"就是com.mapping(包名)+studentMapper(studentMapper.xml文件去除后缀)
-->
<mapper namespace="com.mapping.studentMapper">
<!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getStudent,id属性值必须是唯一的,不能够重复
使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
resultType="com.domain.User"就表示将查询结果封装成一个Student类的对象返回
Student类就是student表所对应的实体类
-->
<!--
根据id查询得到一个student对象
-->
<select id="getStudent" parameterType="int"
resultType="com.domain.Student">
select * from ksl_student where sid=#{sid}
</select>
</mapper>
4.在conf.xml文件中注册studentMapper.xml文件
<mappers>
<!-- 注册studentMapper.xml文件 -->
<mapper resource="com/mapping/studentMapper.xml"/>
</mappers>
5.编写测试代码,执行定义的select语句
创建一个com.test.Test1类,编写如下测试代码:
public class Test1 {
public static void main(String[] args) {
// MyBatis配置文件
String resource = "conf.xml";
// 使用类加载器加载MyBatis配置文件(其中也加载关联的映射文件)
InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);
// 构建SqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
// 创建能够执行映射文件中SQL的SqlSession
SqlSession session = sessionFactory.openSession();
// 映射SQL的标识字符串
String statement = "com.mapping.studentMapper.getStudent";
// 执行查询返回一个唯一的结果
Student student = session.selectOne(statement, 2);
System.out.println(student);
}
}
原文地址:https://www.cnblogs.com/yuanfei1110111/p/10348881.html