【Mybatis学习路线】day01Mybatis概述

目录

    • 1.1Mybatis概念
    • 1.2Mybatis的基本使用

1.1Mybatis概念

  1. 什么是mybatis?

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
基本信息:
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。 [1]

  1. 持久化:数据从瞬时状态变为持久状态
  2. 持久层:完成持久化工作的代码块。–dao层
  3. Mybatis的作用:Mybatis就是帮助程序猿将数据存入数据库中,和从数据库中取数据。
  4. Mybatis和传统JDBC的比较:
    传统的jdbc操作:有很多重复代码块。比如:数据取出时的封装。数据库建立连接等等。通过框架可以减少重复代码,提高开发效率。
  5. Mybatis是一个半自动化的ORM框架。O–object,R–relationship,M–mapping.
  6. Mybatis的功能:
    Mybatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。

1.2Mybatis的基本使用

1.准备mybatis基本的jar包
asm-3.3.1.jar
cglib-2.2.2.jar
commons-logging-1.1.1.jar
commons-logging-1.2.jar
javassist-3.17.1-GA.jar
log4j-1.2.17.jar
log4j-api-2.0-rc1.jar
log4j-core-2.0-rc1.jar
mybatis-3.2.7.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar
数据库连接包:
mysql-connector-java-8.0.19.jar
PS:mybatis所有版本的jar包都在官网上可以找到
官网地址:https://github.com/mybatis/mybatis-3/releases
本博客使用的3.2.7版本。可能有的地区在官网上下载比较慢,容易出现断网。可以私信找我要哦。
也可以自己搭个梯子,谷歌浏览器的setupVpn插件就很好
2.mybatis基本配置文件

<?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.cj.jdbc.Driver"/>    
			  <property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8"/>        
			  <property name="username" value="root"/>        
			  <property name="password" value=""/>      
		  </dataSource>    
	  </environment>  
  </environments>  
  <mappers>    
  	<mapper resource="net/xyz/entiy/user.mapper.xml"/>  
  </mappers> 
</configuration>

这个地方的主要功能就是配置数据库的四大参数。之后你才可以连接上数据库。
3.得到SqlSessionFactory,以及通过SqlSessionFactory得到SqlSession

public class MybatisUtil {
    public static SqlSessionFactory getSqlSessionFactory() throws IOException {
    	String resource = "mybatis.config..xml"; 
    	InputStream inputStream = Resources.getResourceAsStream(resource); 
    	SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    	return sqlSessionFactory;
    }
    public static SqlSession getSession() throws IOException {
    	SqlSessionFactory sqlSessionFactory =getSqlSessionFactory();
    	SqlSession sqlSession =sqlSessionFactory.openSession();
    	return sqlSession;
    }
}

4.创建实体类

public class User {
	private int id;
	private String username;
	private int userage;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public int getUserage() {
		return userage;
	}
	public void setUserage(int userage) {
		this.userage = userage;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", username=" + username + ", userage=" + userage + "]";
	}
    
}

6.编写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="net.xyz.entiy.UserMapper">  
	<select id="selectUser" resultType="net.xyz.entiy.User">    
	  select * from user where id = #{id}  
	</select> 
</mapper>

7.由mybatis框架向数据库中查询出一个对象

public class Test {
	public static void main(String[] args) {
		try {
			SqlSession sqlSession=MybatisUtil.getSession();
			User user=sqlSession.selectOne("net.xyz.entiy.UserMapper.selectUser", 1);
			System.out.println(user.toString());
			sqlSession.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

你可能感兴趣的:(#,java框架)