package com.casey.mybatis.bean; 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 lastname) { this.name = lastname; } 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 + '\'' + '}'; } }
package com.casey.mybatis.test; import com.casey.mybatis.bean.Employee; 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 java.io.IOException; import java.io.InputStream; /** * 1.根据xml全局配置文件,创建一个sqlSessionFactory * 有数据源一些运行环境信息 *2.sql映射文件:配置每一个sql,以及sql的封装规则等 * 3.将sql映射文件映射到全局配置文件中 * 4.写代码: * 1.根据全局配置文件,得到sqlSessionFactory; * 2.使用sqlSession工厂得到session对象,使用session对象来进行增删改查 * 3.一个session代表和数据库的一次对话,使用完后关闭 * */ public class mybatisTest { @Test public void test() throws IOException { String resource = "mybatis.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); /** * 从 SqlSessionFactory 中获取 SqlSession * **/ SqlSession session = sqlSessionFactory.openSession(); try { //第一个参数表示sql唯一标识 //第二个参数表示执行sql要用的重要参数 Employee employee = session.selectOne("com.casey.mybatis.EmployeeMapper.selectEmp",1); System.out.println(employee); }finally { session.close(); } } }
<maven>
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>mybatis_001_helloword</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- 引入mysql驱动 --> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.17</version> </dependency> <!-- Junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.6</version> </dependency> </dependencies> </project>
<mybatis.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.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <!-- 将写好的sql映射文件放入全局配置文件中--> <mappers> <mapper resource="EmployeeMapper.xml"/> </mappers> </configuration>
<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="com.casey.mybatis.EmployeeMapper"> <!-- namespace:名称空间 id:唯一标识符 resultType:返回的结果集 #{id}:传递过来的参数 --> <select id="selectEmp" resultType="com.casey.mybatis.bean.Employee"> select * from employee where id = #{id} </select> </mapper>