MyBatis如何入门以及实现一个简单的增删改查
1、首先新建一个MyBatis Maven项目
2、新建一个Employee类。pac氯短赤亻kage com.gwolf.bean;public class Employee i罪焐芡拂mplements java.io.Serializable{ private Integer empId; private String empName; private String email; private String gender; public Integer getEmpId() { return empId; } public void setEmpId(Integer empId) { this.empId = empId; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { return "Employee [empId=" + empId + ", empName=" + empName + ", email=" + email + ", gender=" + gender + "]"; }}
3、在maven配置文件中添加mybatis和mysql数据库驱动的依赖包。并且为了能驴织裕篡够看到sql的打印日志,我们还需要加入log4枣娣空郅j依赖包。<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>com.gwolf</groupId> <artifactId>Mybatis3</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>Mybatis3</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.41</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies></project>
4、创建Employee映射的xml配置文件: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.gwolf.dao.EmployeeMapper"> <!-- namespace:名称空间 id:唯一标识 resultType:返回值类型 #{empId}:从传递过来的参数取出empId值 --> <select id="selectEmployee" resultType="com.gwolf.bean.Employee"> select * from tbl_emp where emp_id = #{empId} </select></mapper>
5、创建一个mybatis-config.xml文件,用于创建SqlSessionFactory:<?xml version=&qu泠贾高框ot;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/ssm_crud"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="EmployeeMapper.xml"/> </mappers></configuration>
6、新建一个java测试类AppTest,用户测试mybatis的增删改查:创建一个SqlSessionFactory对象。package com.gwolf;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;public class AppTest { @Test public void test() throws Exception { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } }
7、下一步是从 SqlSessionFactory 中获取 SqlSession,能直接执行已经映射的sql语句。package com.gwolf;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 com.gwolf.bean.Employee;public class AppTest { @Test public void test() throws Exception { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); try { Employee employee = sqlSession.selectOne("com.gwolf.dao.EmployeeMapper.selectEmployee", 1); System.out.println(employee); }finally { sqlSession.close(); } } }
8、执行单元测试,查看程序运行结果: