MyBatis入门续

本博客介绍MyBatis入门级操作:使用MyBatis框架从数据中取出一条数据记录,并封装成一个类对象。

1、准备工作

在数据库中创建一个表格tb1_employee,以供MyBatis访问。
本人使用的数据库是MySQL,图形化界面是DataGrip。
SQL语句如下:

create database mybatis;//创建一个名称为mybatis的数据库
use mybatis;
create table tb1_employee(//在mybatis数据库中创建一个名称为tb1_employee的表
   id int(11) primary key auto_increment,
   last_name varchar(255),
   gender char(1),
   email varchar(255)
)engine=innodb default charset=utf8;
insert into tb1_employee(last_name,gender,email) values('Jack','1','jack@qq.com');//在tb1_employee表中插入一条记录

这里写图片描述
至此,准备工作完成,接下来使用MyBatis框架来读取数据库的记录。

2、使用MyBatis对数据库进行操作

本人使用的IDE是Eclipse
(1)在Eclipse中创建一个java项目,名称为mybatis_01,并添加需要的jar包
这里写图片描述
(2)创建一个bean类,用于封装数据库中的记录

public class Employee {
	private int id;
	private String lastName;
	private String gender;
	private String email;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	public String toString() {
		return "Employee [id=" + id + ", lastname=" + lastname + ", gender=" + gender + ", email=" + email + "]";
	}
			
}

这里写图片描述
(3)在Bean类的同级目录下创建一个Dao接口,定义访问数据库的操作

public interface EmployeeDao {

    public Employee selectEmployee(int id);

}

(4)配置MyBatis的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="root"/>
       <property name="password" value="123456"/>
      </dataSource>
     </environment>
    </environments>
  
  <!-- 将写好的Sql映射文件注册到全局配置文件中 -->
  <mappers>
    <mapper resource="conf/employeeMapper.xml"/>
  </mappers>
</configuration>

这里写图片描述
(5)配置Sql语句映射文件,配置每一条Sql语句,以及Sql语句返回结果的封装规则等。
并且需要在MyBatis的全局配置文件中注册该Sql语句映射文件。

<?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="com.sjk.mybatis.EmployeeDao">
<!-- 
namespace:名称空间,此处为Dao接口的全类名
id:唯一标识
#{id}:从传递过来的参数中取出id值
 -->
   <select id="selectEmployee" resultType="com.sjk.mybatis.bean.Employee">
      select id,last_name lastName,gender,email from tb1_employee where id = #{id}
   </select>
</mapper>

这里写图片描述
这里写图片描述
(5)配置好xml文件之后,便可以写代码来对数据库进行操作
①根据xml配置文件(全局文件)创建一个SqlSessionFactory对象

String resource = "conf/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

②使用SqlSessionFactory,获取SqlSession对象

SqlSession openSqlSession=sqlSessionFactory.openSession();

③使用SqlSession先获取EmployeeDao对象,然后执行Sql语句,并获取执行结果

EmployeeDao employeeDao = openSqlSession.getMapper(EmployeeDao.class);
Employee employee=employeeDao.selectEmployee(1);
public class MyBatisTest {
	
	@Test
	public void test() throws IOException {
		/**
		 * 1.获取SqlSessionFactory
		 */
		String resource = "conf/mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		
		//2.获取SqlSession
		SqlSession openSqlSession=sqlSessionFactory.openSession();
		
		//3.读取数据库中的数据,并封装成bean实例
		try {
			EmployeeDao employeeDao = openSqlSession.getMapper(EmployeeDao.class);
            Employee employee=employeeDao.selectEmployee(1);
			System.out.println(employee);
		}finally {
		    //关闭SqlSession对象
			openSqlSession.close();
		}		
	}
	
}

这里写图片描述
这里写图片描述

本博客中的源码源码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值