Mybatis的初次使用及配置文件
前期准备
开发工具
- Eclipse
- Mysql
编写步骤
1. 创建数据库和表,并添加记录
① 创建数据库
这里使用Heidi手动创建了名为mybatis的数据库
![]()
② 创建表
CREATE TABLE t_EmpDetails ( id INT PRIMARY KEY auto_increment, name VARCHAR(255) NOT NULL, gender VARCHAR(6), email VARCHAR(255) )
③ 添加记录
INSERT INTO t_EmpDetails VALUES (NULL, "Andy", "male", "82248481@qq.com")
2. 创建一个Java项目并导入jar包
① 创建一个名为mybatis_test的项目
② 导入mybatis和jdbc jar包, 并Build Path
3. 创建Mybatis-config.xml,并配置文件
① 在WEB-INF目录下,创建一个config文件夹,并设置为资源文件夹
![]()
② 在config文件夹下创建mybatis-config.xml,并配置文件
配置文件结构模板见mybatis使用文档
<?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"/> <!-- JDBC驱动 --> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> <!-- 数据库地址 --> <property name="username" value="root"/> <!-- 数据库账号和密码 --> <property name="password" value=""/> </dataSource> </environment> </environments> <mappers> <mapper resource="EmployeeMapper.xml"/> <!-- 编写、配置sql语句的xml文件 --> </mappers> </configuration>
4. 创建一个Employee实体类
package cn.comman.mybatis.entities;
public class Employee {
private Integer id;
private String name;
private String gender;
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Employee [id=" + id + ", name=" + name + ", gender=" + gender + ", email=" + email + "]";
}
}
5. 创建并配置EmployeeMapper.xml
① 在config文件夹下创建一个EmployeeMapper.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="cn.comman.mybatis.EmployeeMapper"><!-- 给予或捆绑java类 --> <!-- id用于标识sql语句, resultType为结果返回类型, sql语句内的#{id}为变量 --> <select id="getDetails" resultType="cn.comman.mybatis.entities.Employee"> select * from t_EmpDetails where id = #{id} </select> </mapper>
6. 创建测试类
创建JUnit测试类文件
![]()
![]()
代码
package cn.comman.mybatis.test; import static org.junit.Assert.*; import java.io.IOException; import java.io.InputStream; 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 org.junit.Test; import cn.comman.mybatis.entities.Employee; public class MybatisTest { @Test public void test() throws IOException { //导入配置文件 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //查询并打印结果 SqlSession session = sqlSessionFactory.openSession(); try { Employee employee = session.selectOne("cn.comman.mybatis.EmployeeMapper.getDetails", 1); System.out.println(employee); }finally { session.close(); } } }
7. 执行测试类
![]()
查询并打印成功!