MyBatis入门经典

如今MyBatis大有腾云之势,其好也其坏,值得让人一学的就是封装更加完美,灵活性也变强了不少

如下献上MyBatisUtil的工具.java文件

package site.finaltmq.utils;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
/**
 * 对于MyBatis这个架构的使用,有很多
 * 以下其实是最简单的运用了
 * 去下载查看MyBatis的帮助的文档才是诸君的捷径啊
 * @author tmq
 *
 */
public class MyBatisUtil {
	/**
	 * 获取SqlSessionFactory
	 * @return
	 */
	public static SqlSessionFactory getSqlSessionFactory(){
		String resource = "conf.xml";
		InputStream is = MyBatisUtil.class.getClassLoader().getResourceAsStream(resource);
		return new SqlSessionFactoryBuilder().build(is);
	}
	/**
	 *
	 * 获取SqlSession
	 * @return
	 */
	public static SqlSession getSqlSession(){
		return getSqlSessionFactory().openSession();
	}

	/**
	 *
	 * 获取SqlSession
	 * @param isAutoCommit
	 * @return
	 * true代表会自动提交事务(若要理解事务的一些操作,可以了解JDBC以及相关数据库的操作)
	 * false表示不会自动提交事务(需要调用commit()函数完成提交事务)
	 */
	public static SqlSession getSqlSession(boolean isAutoCommit){
		return getSqlSessionFactory().openSession(isAutoCommit);
	}
}

看到这里我就再提供几张图片给大家

这是其中一些函数的重载,大同小异都是为了让诸君可以更加灵活书写Dao的实现类更加方便的使用MyBatis来操作数据库

当然MyBatis最大的一个特色就是运用.xml文件进行相关函数以及数据操作语句的映射,如此他的安全性就更高了,可以隐藏在更深层次而不易被发觉

conf.xml(名字可以任意取/请最好放在src根目录下)

<?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/test?useUnicode=true&characterEncoding=UTF-8" />
                <property name="username" value="root" />
                <property name="password" value="" />
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="site/finaltmq/mapping/dbInfoMapper.xml"/>
    </mappers>
</configuration>

这个xml文件是为了告诉MyBatis要连接哪一个数据库,密码账号之类的也是写在这个里面,以及我的数据库操作代码应该到哪个xml文件中调用,当然这个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="site.finaltmq.mapping.dbInfoMapper" >

</mapper>

我这里就只给出他的基本文件格式了。因为就单单一个博客是根本无法说清楚其中的各种用处的,一个简单的xml标签的属性就有着好几条,作用各异,望诸君可以下载MyBaits帮助文档,比单纯的看别人的博客了解更多

时间: 2024-10-11 22:01:49

MyBatis入门经典的相关文章

MyBatis笔记----MyBatis 入门经典的两个例子: XML 定义与注解定义

----致敬MyBatis官方开放文档让大家翻译,不用看书直接看文档就行了,mybatis的中文文档还需要完备的地方 简介 什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录.

MyBatis1:MyBatis入门

MyBatis是什么 MyBatis是什么,MyBatis的jar包中有它的官方文档,文档是这么描述MyBatis的: MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of para

MyBatis入门基础(一)

一:对原生态JDBC问题的总结 新项目要使用mybatis作为持久层框架,由于本人之前一直使用的Hibernate,对mybatis的用法实在欠缺,最近几天计划把mybatis学习一哈,特将学习笔记记录于此,方便大家参考,也方便自己查阅. 话不多说,先看看原始的JDBC程序代码,看看这样的代码存在什么问题. package com.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.P

《算法竞赛入门经典第二版》 P35 习题2-4 子序列的和(subsequence)

/* <算法竞赛入门经典第二版> P35 习题2-4: 输入两个正整数 n < m < 10^6,输出 (1/n)^2 + 1/(n+1)^2 +……+ 1/m^2,保留5位小数. 输入包含多组数据,结束标志为 m=n=0. 有错欢迎指出^_^ */ #include<stdio.h> int main() { int m,n,i,j=1; while(scanf("%d%d",&m,&n) != EOF) { double sum

算法竞赛_入门经典_刘汝佳__(2)

1,有几位数字 #include<stdio.h> int main_2_1_digit(){ int n; while(scanf("%d",&n)){ int count = 0; if(n==0) count = 1; while(n){ count++; n/=10; } printf("%d\n",count); } return 0; } 2,三位数的三个数字 #include<stdio.h> int main_2_2_

算法竞赛入门经典_4.3_递归

看代码 #include <stdio.h> int f(int n){ return n == 0?1:f(n-1)*n; } int main() { printf("%d\n", f(5)); return 0; } 上面f函数使用了递归,递归由两部分组成,一是递归头,二是递归体. 我们使用gcc调试工具 H:\编程书籍学习\算法竞赛入门经典2代码\算法入门经典第四章>b f 'b' 不是内部或外部命令,也不是可运行的程序 或批处理文件. H:\编程书籍学习\算

【书籍推荐】Spring实战-----Spring入门经典

如果看完了Servlet学习指南后,可以开始考虑使用框架了,这时候是完全没有什么问题的,因为有太多的开发者在帮我们解决问题了,作为一个新手,我们可以先使用别人的轮子,等到使用得很熟练,技术提高了,我们才考虑制造一些小轮子,当然这个过程需要很长的时间,但我相信只要不断的学习,就一定能成功. 当然,个人认为这本书只是入门级,因为文档是更好的资料,但是每个人迈出的第一步都倾向于轻松有趣,另外看英文版当然是更好有更好的提升,但是个人认为既然入门就可以选择看中文版的快速入门,然后再看英文版的文档,或者在下

我和《Visual c++2013入门经典(第7版)》的那些事

前言 笔者今天有幸看到了Visual c++2013入门经典(第7版),这一本书,回想之前看过些书的2010的版本,陪伴我渡过了漫长的C++基础学习之路,下面我将讲述对<Visual c++2013入门经典(第7版)>看后的一些感想与意见. 一.本书总评 首先,这是一本C++入门的经典书籍.对于一个初学者,如果立志成为一名Windows开发工程,熟读本书,你会得到很多的收获.书很厚实,内容通俗易懂,你是零基础都能看得懂.对于中高级开发人员,阅读者本身者有基本的编程的功底和思想再来看本书,更能充

C#入门经典札记_Chapter3_变量和表达式

C#入门经典_札记 Chapter 3: 3.1 C#的基本语法 1.无论代码中是否有空格.回车符或tab字符(这些字符统称为空白字符),C#编译器都不考虑这些字符. 3.2 变量 1.计算机中所有的数据都是相同的东西(一组0.1),但是变量有不同的内涵,成为类型.建立这个类型系统的原因是,不同类型的数据需要用不同的方法来处理.变量限定为不同的类型,可以避免混淆它们.例如,在处理,组成数字图片的0.1序列和组成声音的0.1序列,其处理方式是不同的. 2.可以使用的变量类型是无限多的,因为可以自己