【MyBatis】三种开发方式

环境配置

1.创建普通Java项目;
2.创建 config 和 lib 文件夹;
3.config 文件夹添加到类目录下:选中项目-BuildPath-AddFolder
4.添加 jar包 到 lib文件夹,同时 AddBuildPath 令其出现在 Referenced Libraries 中
5.添加 log4j.xml 文件到 config文件夹
6.添加 resource.xml 文件到 config 文件夹
7.添加 dbconfig-properties 文件到 config文件夹
8.在 resource.xml 文件中写 dbconfig-properties 路径

 

开发步骤

1.在实体同级建立一个同名的xml文件,和实体类相对应;
2.在xml文件设置命名空间为实体类的全路径;
3.把dtd文件导入项目,Window-Preference-XML-XMLCatalog-Add(设置提示);
4.编写SQL语句,写id,parameterType,resultType;
5.编写测试类,resource-reader-SQLSessionFactory-SqlSession;

 

三种开发方式

方式一:配置文件

resource.xml

<mappers>
    <mapper resource="mappers/EmployeeMapper.xml" />
mappers>

EmployeeMapper.xml

namespace="com.dao.bean.Employee">
    <select id="selOne" resultType="com.bean.Employee">
        select id, name e_name, gender, address from employee where id = #{id}
    select>

方式二:接口

resource.xml

<mappers>
    <mapper class="com.dao.EmployeeDAO2"
mappers>

EmployeeDAO2.java

public interface EmployeeDAO2{
    @Select("select * from employee")
    public List getAll();

    public Employee selOne(String id);
}

MyBatisTest.java

public class MyBatisTest{
    @Test
    public void test() throws IOException{
        //创建一个sqlSession
        Reader reader = Resources.getResourceAsReader("resource.xml");
        //创建SQLSessionFactory
        SqlSessionFactory sqlSessionFactory =  new SqlSessionFactoryBuilder().build(reader);
        //true表示自动提交,否则需要使用commit提交,默认为false
        SqlSession session = sqlSessionFactory.openSession(true);
        // 创建接口对象,这是session对象通过动态代理自动为我们创建
        EmployeeDAO2 empDao = session.getMapper(EmployeeDAO2.class);
        //使用创建好的接口对象调用方法
        List empList = empDao.getAll();
    }
}

方式三:接口+配置文件

resource.xml

<mappers>
    <mapper resource="mappers/EmployeeMapper.xml" />
mappers>

EmployeeMapper.xml

namespace="com.dao.EmployeeDAO">
    <select id="selAll" resultType="com.bean.Employee">
        select * from employee
    select>
    <select id="selOne" resultType="com.bean.Employee">
        select id, name e_name, gender, address from employee where id = #{id}
    select>

EmployeeDAO.java

public interface EmployeeDAO{
    public List selAll();
    public Employee selOne(String id);
}

MyBatisTest.java

public class MyBatisTest{
    @Test
    public void test() throws IOException{
        //创建一个sqlSession
        Reader reader = Resources.getResourceAsReader("resource.xml");
        //创建SQLSessionFactory
        SqlSessionFactory sqlSessionFactory =  new SqlSessionFactoryBuilder().build(reader);
        //true表示自动提交,否则需要使用commit提交,默认为false
        SqlSession session = sqlSessionFactory.openSession(true);
        // 创建接口对象,这是session对象通过动态代理自动为我们创建
        EmployeeDAO empDao = session.getMapper(EmployeeDAO.class);
        //使用创建好的接口对象调用方法
        Employee emp = empDao.selOne("2");
        List empList = empDao.selAll();
    }
}

你可能感兴趣的:(【,Java,】,………MyBatis)