初识MyBatis

本文内容:

1、下载jar包:

2、创建java工程,导入MyBatis jar包和数据库驱动包

3、创建数据库表,并添加数据:

4、MyBatis的使用:


1、下载jar包:

    https://github.com/mybatis/mybatis-3/releases

2、创建java工程,导入MyBatis jar包和数据库驱动包

    mybatis-3.4.4.jar   和  mysql-connector    log4j    slf4j-log4j   slf4j-api

3、创建数据库表,并添加数据:

           

4、MyBatis的使用:

    首先呢我们需要两个xml文件,一个接口,还有一个测试用的测试类。我给他们起名分别为:mybatis_config.xml   area.xml  IAreaDao.java

    下面挨个讲解文件中配置代码的作用,以及测试类中代码的作用:

        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">   <!-- 作用:使用哪个数据库。environments中可以有多个environment,也就是说可以配置多个数据库的信息,在default中可以指定使用哪个数据库 -->
		<environment id="development">        <!-- 作用:连接的数据库的信息 -->
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">      
				<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
				<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:keeper" />
				<property name="username" value="scott" />
				<property name="password" value="root" />
			</dataSource>
		</environment>
	</environments>
	
	<mappers>  <!-- 注册Mapper xml文件 其中resource中的值对应定义的另一个xml文件的名字 -->
		<mapper resource="area.xml" />
	</mappers>
</configuration>

        area.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.zzu.area.IAreaDao">                <!-- 调用哪个接口中的方法,namespace值为接口路径 -->
	<select id="getName" resultType="java.lang.String">   <!-- id为调用接口中的哪个方法  resultType指定返回值的类型-->
		select name from area where code = #{code}      <!-- sql语句  #{code} 是传到sql语句中的code值 -->    
	</select>
</mapper>

         Test.java:

//以下代码的解释可以从,SqlSession sqlSession = sqlSessionFactory.openSession();开始看

package com.zzu.test;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.zzu.area.IAreaDao;

public class Test {

	public static void main(String[] args) throws IOException {
		
 		InputStream inputStream = Resources.getResourceAsStream("mybatis_config.xml");//建造工厂需要的材料(mybatis_config.xml中的配置)
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);  //工厂类由一个工厂builder来建造
 		SqlSession sqlSession = sqlSessionFactory.openSession();   //sqlSession连接数据库到关闭数据库之间的过程,代表一次会话,用完需要关闭,sqlSession由一个工厂类生成
 		IAreaDao areaDao =sqlSession.getMapper(IAreaDao.class);    //创建动态对象,
 		System.out.println(areaDao.getClass().getName());     //输出动态对象
 		System.out.println(areaDao.getName("110113"));       //输出code对应的name值
 		sqlSession.close();
		
	}
}

//由输出结果可以看出,创建动态对象使用的是JDK动态代理;输出结果正好是code对应的name值

        IAreaDao.java:

package com.zzu.area;

public interface IAreaDao {

	String getName(String code);
}

     mybatis_config.xml中确定了连接那个数据库,然后到area.xml文件中找到对应的mapper,在mapper中确定调用的方法所在接口,并且使用动态类的动态对象来执行下面SQL语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值