项目结构:
1.准备
- 数据库,数据表的创建
- 创建对象和Dao接口
CREATE TABLE `t_employee` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`empname` varchar(50) NOT NULL,
`gender` int(11) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Employee.java
package com.gang.bean;
public class Employee {
private Integer id;
private String empName;
private Integer gender;
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public Integer getGender() {
return gender;
}
public void setGender(Integer 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 + ", empName=" + empName + ", gender=" + gender + ", email=" + email + "]";
}
}
EmployeeDao
package com.gang.Dao;
import com.gang.bean.Employee;
public interface EmployeeDao {
/**
* 根据id,查找一个员工
* @param id
* @return
*/
public Employee getEmployee(Integer id);
}
2.导包
mybatis-3.4.1.jar
mysql-connector-java-5.1.6.jar
3.编写配置文件
参考MyBaits中文文档
mybatis_config.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/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="EmployeeDao.xml"/>
</mappers>
</configuration>
EmployeeDao.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.gang.Dao.EmployeeDao">
<select id="getEmployee" resultType="com.gang.bean.Employee">
select * from t_employee where id = #{id}
</select>
</mapper>
4.测试
package com.gang.test;
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 com.gang.Dao.EmployeeDao;
import com.gang.bean.Employee;
public class MyBatisTest2 {
@Test
public void test() {
try {
String resource = "mybatis_config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
try (SqlSession session = sqlSessionFactory.openSession()) {
EmployeeDao empdao = session.getMapper(EmployeeDao.class);
Employee employee = empdao.getEmployee(1);
System.out.println(employee);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果: