版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kaizuidebanli/article/details/83116876
HelloWorld程序流程如下:
一、准备工作
(1)创建一张测试表
表结构
表数据
(2)创建对应的javaBean
package atguigu.mybatis;
public class Employee {
private String name;
private int age;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", age=" + age +
", email='" + email + '\'' +
'}';
}
}
二、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" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="mysql" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="Mapper/EmployeeMapper.xml"/>
</mappers>
</configuration>
<?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="atguigu.mybatis.Mapper.EmployeeMapper">
<select id="getEmployeeById" resultType="atguigu.mybatis.Employee">
select * from employee where id = #{id}
</select>
</mapper>
三、创建EmployeeMapper接口类
package atguigu.mybatis.Mapper;
import atguigu.mybatis.Employee;
public interface EmployeeMapper {
public Employee getEmployeeById(Integer id);
}
四、测试
@Test
public void testSetUser() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
// 1、获取sqlSession实例,能直接执行已经映射的sql语句
// sql的唯一标识:statement Unique identifier matching the statement to use.
// 执行sql要用的参数:parameter A parameter object to pass to the statement.
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、获取sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
// 3、获取接口的实现类对象
//会为接口自动的创建一个代理对象,代理对象去执行增删改查方法
EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);
Employee employeeById = mapper.getEmployeeById(1);
System.out.println(employeeById);
}finally {
sqlSession.close();
}
}