Mybatis-Helloword

文章目录

环境搭建

package com.jh.bean;

public class Employee {

	private Integer id;
	private String empName;
	private String email;
	private String gender;
package com.jh.dao;

import com.jh.bean.Employee;

public interface EmployeeDao {

	//按照员工id查询员工
	public Employee getEmpByid(Integer id);
}

导包

Mybatis-Helloword

写配置

全局配置文件

指导mybatis如何正确运行,比如,连接向哪个数据库
Mybatis-Helloword

<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="12345"/>
      </dataSource>
    </environment>
  </environments>

dao接口的实现文件

编写每个方法都是如何向数据库发送sql语句的,如何执行。。。

 <!-- namespace,名称空间:写接口的全类名,相当于告诉Mybatis这个配置文件是实现哪个接口的 -->
<mapper namespace="com.jh.dao.EmployeeDao">

<!-- public Employee getEmpByid(Integer id); -->
<!-- select,用来定义一个查询操作 
			id:方法名,相当于这个配置是对某个方法的实现 
			resultType:指定方法运行后的返回值类型(查询操作必须指定的)
			#{属性名}:代表取出传递过来的某个参数的值
			-->
  <select id="getEmpByid" resultType="com.jh.bean.Employee">
    select * from t_employee where id = #{id}
  </select>
  
</mapper>

Mybatis-Helloword

我们写的dao接口的实现文件,mybatis默认是不知道的,需要在全局配置文件中注册

<!-- 引入自己编写的每一个接口的实现文件 -->
  <mappers>
    <!--resource 表示从类路径下找资源  -->
    <mapper resource="EmployeeDao.xml"/>
  </mappers>

注意:
Mybatis-Helloword

测试

@Test
	public void test() throws IOException{
		/*1.根据全局配置文件创建出一个sqlSessionFactory
		 * sqlSessionFactory:是sqlSession工厂,负责创建sqlSession对象;
		 * sqlSession:sql会话(和数据库的一次会话)
		 */
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
	
		//4.调用之前的方法
		Employee employee;
		//2.获取和数据库的一次会话
		SqlSession openSession = sqlSessionFactory.openSession();
		try {		
			//3.使用sqlSession操作数据库,获取dao接口的实现
			EmployeeDao employeeDao = openSession.getMapper(EmployeeDao.class);
			employee = employeeDao.getEmpByid(1);
		} finally{
			openSession.close();
		}
		System.out.println(employee);
	}
上一篇:Spring入门系列-IOC理论的推导


下一篇:五分钟了解什么是Mybatis(超详细)