Mybatis HelloWorld程序(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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();
    }


} 

五、接口式编程总结

猜你喜欢

转载自blog.csdn.net/kaizuidebanli/article/details/83116876