Mybatis(一)环境搭建和配置文件

(1)Mybatis概述
什么是Mybatis?

mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。

mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。

什么是hibernate?

hibernate是数据访问层的框架,对jdbc进行了封装,使用hibernate可以直接访问对象,hibernate自动将此访问转换为sql执行,从而达到间接访问数据库的目的,简化了数据访问层的代码开发。

hibernate和mybatis对比:

共性:采用ORM思想解决了实体和数据库映射的问题,对jdbc进行了封装,屏蔽了jdbc api底层访问细节,使我们不用与jdbc api打交道,就可以完成对数据库的持久化操作。

Hibernate是全自动化ORM的映射工具,

两者的区别:http://www.cnblogs.com/inspurhaitian/p/4647485.html
(2)环境搭建
配置环境依赖

  	<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
	<dependency>
    	<groupId>org.mybatis</groupId>
    	<artifactId>mybatis</artifactId>
    	<version>3.4.5</version>
	</dependency>
  
  	<!-- MySQL数据库依赖 -->
    <dependency>
    	<groupId>mysql</groupId>
    	<artifactId>mysql-connector-java</artifactId>
    	<version>5.1.6</version>
    </dependency>

(3)全局配置文件和映射配置文件
全局配置文件: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>
   <!-- 日志技术 -->
    <settings>
    	<setting name="logImpl" value="LOG4j"/>
    </settings>
    <!--配置别名
    typeAliases和environments是平等级别的标签
        type是实体类的完整类名
        alias是类的别名
    -->
    <typeAliases>
        <typeAlias type="Mybatis.domain" alias="User"/>
        <typeAlias type="com.soft.domain.DeptEntity" alias="DeptEntity"/>
        <typeAlias type="com.soft.domain.EmpEntity" alias="EmpEntity"/>
    </typeAliases>
    
    <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:///mybaitsdemo" />
                <property name="username" value="root" />
                <property name="password" value="admin" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!-- 映射文件的位置 -->
        <mapper resource="Mybatis/domain/userMapper.xml" />
    
    </mappers>
</configuration>

映射配置文件:userMapper.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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀)
 -->
<mapper namespace="Mybatis.domain.UserMapper">
    <select id="user" resultType="Mybatis.domain.User">
        select * from t_user where id = #{id}
    </select>
</mapper>

app.java

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 org.testng.annotations.Test;

public class App {
	@Test
	public void test1() throws Exception{
		//从classpath路径去加载配置文件
		InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
		//创建SqlSessionFactory工厂
		SqlSessionFactory  factory= new SqlSessionFactoryBuilder().build(in);
		//获得会话对象
		SqlSession session = factory.openSession(); 
		session.selectOne("Mybatis.domain.UserMapper.user",1L);
		session.close();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值