`
m654352
  • 浏览: 26548 次
社区版块
存档分类
最新评论

mybatis学习笔记一(环境配置)

 
阅读更多
万里之行起于小步,从搭建环境开始。

一、下载好jar包,既然是基本环境搭建就不用弄的太复杂就加入三个最基本的jar包

1、mybatis-3.1.0-SNAPSHOT.jar
2、mysql-connector-java-5.0.8-bin.jar
3、log4j-1.2.16.jar

二、mybatis是基于log4j日志框架的,恩,把log4j的日志数据配置文件也配置一下,就先把级别设定在debug的级别上

# Rules reminder:
# DEBUG < INFO < WARN < ERROR < FATAL

# Global logging configuration
log4j.rootLogger=DEBUG, stdout

# My logging configuration...
log4j.logger.org.mybatis.jpetstore=DEBUG

## Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n


三、现在就开始对mybatis进行配置,配置文件为一个xml文件,文件名自己决定,暂且就叫Configuration.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>
	<typeAliases>
		<!-- simple alias for full class name -->
		<typeAlias alias="User" type="com.akwolf.domain.User"/>
	</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://192.168.2.110:3306/mybatis"/>
                <property name="username" value="zhangh"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/akwolf/persistence/UserMapper.xml"/>
    </mappers>
</configuration>


面这个配置文件相当于一个全局的配置,所以在这里面配置也会影响到其他的配置文件

这里先对上面几个标签陌生标签解释一下

<typeAliases>就是为为一个完整的类名去一个别名,我猜你不会愿意在每次用到一个类时都把类的完整路劲给带上,所以上面的User就可以代表com.akwolf.domain.User

这样做的确是一件很省力气的事

<environments default="development">也就是在不同的环境中选择不同的配置,如果现在是开发环境连接的数据库可能就与测试连接数据库的配置不同,default代表的就是一个默认使用的环境。
<mappers>也就是注册你写了哪些Mapper映射文件。
这个就先简单介绍一下,下一篇文章就把每一个标签的使用和用处罗嗦一遍。

四、建立领域模型User

import java.io.Serializable;


public class User implements Serializable {
	private static final long serialVersionUID = 1L;

	private int id;

	private String name;
	private int age;
	
	//setter && getter
}


五、建立对数据库操作的dao接口
package com.akwolf.persistence;

import com.akwolf.domain.User;

public interface UserMapper {

	/**
	 * 通过id查询用户
	 * 
	 * @param id
	 *            用户id
	 * @return 用户实体
	 */
	public User getUserById(int id);
}


六、编写对dao接口进行实现的Mapper【UserMapper.xml】,就是一些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.akwolf.persistence.UserMapper">
    <select id="getUserById" parameterType="int" resultType="User">
        select * from tbl_user where id = #{id}
    </select>
</mapper>


#{id}表示传入的参数,是一个变量

到此一个基本的mybatis运行环境已经搭建起来,用测试类测试一下
package com.akwolf.test;

import java.io.IOException;
import java.io.Reader;

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.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;

import com.akwolf.domain.User;
import com.akwolf.persistence.UserMapper;

public class UserTest {
	
	private static SqlSession session ;
	
	@BeforeClass
	public static void init(){
		// 配置文件的路径
		String res = "com/akwolf/conf/Configuration.xml" ;
		try {
			// 1、加载配置文件
			Reader reader = Resources.getResourceAsReader(res);
			// 2、创建SqlSessionFactory,用于取得SqlSession
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader) ;
			// 3、取得一个SqlSession(对Jdbc中connection的封装)
			session = factory.openSession() ;
		} catch (IOException e) {
			e.printStackTrace();
		} 
	}

	@Test
	public void testGet() {
		// 4、取得mybatis实现并实例化好的UserMapper接口实例
		UserMapper mapper = session.getMapper(UserMapper.class) ; 
		// 5、进行dao层的操作
		User u = mapper.getUserById(1) ;
		System.out.println(u);
	}
	
	@AfterClass
	public static void destory(){
		// 6、关闭SqlSession
		session.close() ;
	}
}

上面测试类的主要建立数据库连接并对数据库进行的操作,为了方便以后查看和大家的理解,注释写的很详细。


好,到这里第一个mybatis程序运行成功,下一次就研究一下Mybatis配置文件的详细配置。
分享到:
评论

相关推荐

    mybatis-md笔记.zip

    MyBatis-MD笔记是一种结合了MyBatis和Markdown技术的学习和记录方式,旨在帮助开发者更有效地学习和理解MyBatis框架,并将所学知识以文档形式记录下来。这种学习方法将技术和文档相结合,具有极大的灵活性和可读性,...

    mybatis学习笔记

    文章目录Mybatismybatis的概述持久层技术解决方案mybatis的入门mybatis入门案例mybatis基于注解的入门案例:自定义mybatis的分析mybatis主配置文件的常用配置OGNL(Object Graphic Navigation Language)表达式mybatis...

    MyBatis框架学习笔记

    在学习MyBatis时自己记的笔记,内容涉及环境搭建、操作数据库、核心配置文件、获取参数的方式、各种查询功能、以及特殊的SQL如何执行、怎么自定义ResultMap、动态SQL、MyBatis的缓存机制、逆向工程、以及分页插件等...

    day01_eesy_01mybatis.zip

    学习笔记——mybatis的起步(1) 1.什么是框架? 他是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高...

    Java进阶之路的学习笔记,包括从环境配置、各大框架以及中间件和面试笔试真题的分享.zip

    Java前后开发面试题,大厂进阶之路,基于JavaGuide、Cyc大佬、牛客...包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多线程并发、netty、MySQL、MongoDB、Elasticsearch、Redis、HBASE

    meven学习笔记

    NULL 博文链接:https://deyimsf.iteye.com/blog/1780177

    Springboot学生读书笔记共享.zip

    该平台旨在为学生提供一个方便、高效的读书笔记共享环境,帮助他们更好地学习和掌握知识。通过这个平台,学生可以上传、下载、查看和评论读书笔记,实现知识的共享和传播。主要功能如下:用户注册与登录:用户可以...

    ant_junitc测试

    为了督促自己学习,同时也是为了及时总结,并与大家分享,近期准备写一个mybatis学习笔记的系列博文。请有兴趣的朋友多多关注、督促并批评指正!不胜感激! 在拙作《纯手工编写第一个Hibernate程序》和《对“纯...

    2020/2/19学习笔记-day01

    2、系统的配置信息 ​ OOAD:面向对象设计分析 ​ UML:统一建模语言 用图形来描述信息(用例图、时序图、类图) ​ Oracle数据库(还要MySql...) ​ JDBC:java代码里面用程序进行操作数据库(比较底层的代码实现)...

    高级java笔试题-blog:基于SpringBoot+Thymeleaf+Mybatis+LayUi+Lucene的粗糙个人博客

    (开发环境是8,未使用1.8特性,发布目标1.7)修改-&gt;application-dev.properties, cmd-&gt; java -jar blog.jar 即可运行项目 注:本地不要使用java -jar运行最好,需要改为发布的服务器路径而且坑多,使用eclipse运行...

    2021年Java SSM框架实战案例:基于jQuery实现数据库全操作源码

    项目代码结构清晰,共包含97个文件,涉及多种编程语言和环境配置。 技术栈: - 主要语言:Java - 相关技术:JavaScript, PHP, C#, CSS 文件类型分布: - XML配置文件:53个,用于配置SSM框架及数据库相关设置 - ...

    Seckill:基于SpringBoot高并发商城秒杀系统项目

    课程学习笔记以及重点知识讲解: : 基于SpringBoot + Maven + Mybatis + Redis + RabbitMQ高并发商城秒杀系统 开发工具 IntelliJ IDEA 2017.3.1 x64版本 开发环境 JDK 玛文 MySQL的 弹簧靴 Redis 兔子MQ 1.8 ...

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ 淘淘商城第一天笔记.docx │ ├─02.第二天 │ 07.商品类目选择完成.avi │ 01.课程计划.avi │ 02.展示首页.avi │ 03.分页插件01.avi │ 04.分页插件的使用方法.avi │ 05.商品列表展示.avi │ 06.商品类目...

Global site tag (gtag.js) - Google Analytics