1. 首先在数据库创建一个数据库 Mybatis 创建一个测试表:Mybatis_employee 里面的字段和数据如下: [图片] 2. 创建一个 Mybatis1.0 项目 1) 创建一个对应数据库对象的 javaBean->Employee.java; package com.Mybatis.entity; ..

Mybatis 学习笔记 (一)---- 初步认识 Mybatis 例子

本贴最后更新于 261 天前,其中的信息可能已经水流花落

1. 首先在数据库创建一个数据库 Mybatis
创建一个测试表:Mybatis_employee
里面的字段和数据如下:
imagepng
2. 创建一个 Mybatis1.0 项目
1) 创建一个对应数据库对象的 javaBean->Employee.java;

   package com.Mybatis.entity;

   public class Employee {
   private int Id;
   private String Last_Name;
   private char Gender;
   private String Email;
   public int getId() {
   	return Id;
   }
   public void setId(int id) {
   	Id = id;
   }
   public String getLast_Name() {
   	return Last_Name;
   }
   public void setLast_Name(String last_Name) {
   	Last_Name = last_Name;
   }
   public char getGender() {
   	return Gender;
   }
   public void setGender(char gender) {
   	Gender = gender;
   }
   public String getEmail() {
   	return Email;
   }
   public void setEmail(String email) {
   	Email = email;
   }
   @Override
   public String toString() {
   	return "Employee [Id=" + Id + ", Last_Name=" + Last_Name + ", Gender=" + Gender + ", Email=" + Email + "]";
   }
}

3. 创建一个 Mybatis 的配置文件 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="Student" />
					<property name="password" value="a147896325" />
				</dataSource>
			</environment>
		</environments>
		<!-- 一定要把我们的sql映射文件(EmployeeMapping.xml)注入到全局配置文件中(Mybatis-config.xml) -->
		<mappers>
			<mapper resource="EmployeeMapping.xml" />
		</mappers>
	</configuration>

4. 配置 Sql 映射文件, 文件名为 EmployeeMapping.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="org.mybatis.EmployeegMapper">
	<!-- 
		namespace:名称空间
		id:唯一标识符
		resultType:返回值类型
		#{id}:从传递过来的参数取出id值
	 -->
	  <select id="selectEmp" resultType="com.Mybatis.entity.Employee">
		select * from Mybatis_Employee where id = #{id}
	  </select>
	</mapper>

5. 创建测试类 Mybatis_Test.java

	package com.Mybatis.JUnit.test;

	import static org.junit.Assert.*;

	import java.io.IOException;
	import java.io.InputStream;

	import org.apache.ibatis.io.Resources;
	import org.apache.ibatis.session.*;

	import org.junit.Test;

	import com.Mybatis.entity.Employee;

	public class Mybatis_Test {
		/*
		 * 1.根据XMl配置文件(全局配置文件) 创建一个SqlSessionFactory 对象
		 * 	有数据源一些运行环境信息
		 * 2.Sql映射文件;配置了每一个Sql,以及Sql的封装规则
		 * 3.将Sql映射文件注册在全局配置文件中
		 * 4.写代码
		 * 	1).根据全局配置文件得到SqlsessionFactory
		 *  2).使用SqlSession工程,获取到SqlSession对象使用它来执行增删改查
		 *  一个SqlSession就是代表和数据库的一次会话,用完关闭
		 * */
		@Test
		public void test() throws IOException {
			String resource = "Mybatis-config.xml";
			InputStream inputStream = Resources.getResourceAsStream(resource);
			SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
			//2.获取SqlSession实例,能直接执行已经映射的Sql语句
			SqlSession openSession = sqlSessionFactory.openSession();
			try{
				Employee employee = openSession.selectOne("org.mybatis.EmployeegMapper.selectEmp", 1);
				System.out.println(employee);
			}finally{
				openSession.close();			
			}


		}

	}

6. 测试结果
imagepng

* 本次遇到的问题: 导入 jar 包的时候发现无法导入 org.apache.ibatis.io.Resources
然后发现了个低级错误, 我把 lib 文件夹创建在类路径下了, 需要在 WEB-INF 下创建

  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    118 引用 • 394 回帖 • 765 关注
回帖   
请输入回帖内容...