MyBatis初识

1.什么是mybatis?

按照网上的描述:MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map接口和POJO到数据库记录。相对Hibernate和Apache OJB等"一站式"ORM解决方案而言,Mybatis 是一种"半自动化"的ORM实现。

2.MyBatis相对于JDBC有什么优点?

  • 数据库连接池:减少数据库频繁的开启关闭造成的资源浪费,虽然JDBC中的加载数据库可以使用到DBCP技术。
  • SQL配置文件:减少硬编码问题,如加载数据库时将信息写在代码里边,代码里边出现的汉字,这些都是硬编码,写在配置文件中就解决了这个问题,方便维护。
  • 动态SQL语句:写在xml配置文件中,不需要写在代码中。
  • 映射:resultset对象直接转换为Java对象,不需要自己动手大量构造代码。

3.简单的MyBatis运用查询SQL语句。

3.1导入jar包。

3.2查询数据表的pojo塑写。

数据库中该表的数据记录:

类TB7:

package com..pojo;

public class TB7 {
	private String id;
	private String username;
	private Double money;
	private int age;
	private String depart;
	
	public TB7(){
		
	}

	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}

	public Double getMoney() {
		return money;
	}
	public void setMoney(Double money) {
		this.money = money;
	}

	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}

	public String getDepart() {
		return depart;
	}
	public void setDepart(String depart) {
		this.depart = depart;
	}

	@Override
	public String toString() {
		return "TB7 [id=" + id + ", username=" + username + ", money=" + money + ", age=" + age + ", depart=" + depart
				+ "]";
	}
	
}

 3.3加载驱动的配置文件,为了获取数据库地址,账户密码,从而Java与数据库进行连接。

<?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/demo"/>
        <property name="username" value="root"/>
        <property name="password" value="113846"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="com/mapper/TB7Mapper.xml"/>
  </mappers>
</configuration>

3.4Mapper包中的类,因为要查询tb7表中的数据,先定义一个接口写一个方法,再创建一个xml文件,映射接口和类TB7。

接口:id查询

package com.mapper;

import com.pojo.TB7;

public interface TB7Mapper {
	public TB7 query(String id);
}

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="com.openlab.mapper.TB7Mapper">
  <select id="query" resultType="com.openlab.pojo.TB7">
    select * from tb7 where id = #{id}
  </select>
</mapper>

3.5测试类。

3.5.1加载资源配置文件,获取流。

3.5.2生成SqlSessionFactoryBuilder对象,调用build方法。

3.5.3上边3.5.2调用build生成的对象,再调用openSession()方法,从而获取SqlSession对象。

3.5.4SqlSession对象调用getMapper方法解析TB7Mapper.class文件,从而获取TB7Mapper的对象。

3.5.5调用TB7Mapper对象中的方法,就写了一个id查询方法,所以调用该方法传入要查询的id。

3.5.6将最终查询出来的结果打印出来。

package com.test;

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

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.mapper.TB7Mapper;
import com.pojo.TB7;

public class Test {
	public static void main(String[] args) throws IOException {
		InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
		SqlSession session = sqlSessionFactory.openSession();
		TB7Mapper mapper = session.getMapper(TB7Mapper.class);
		TB7 tb7 = mapper.query("007");
		
		System.out.println(tb7.toString());
	}
}

3.6查询结果呈现。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值