核心组件


    SqlSessionFactoryBuilder (构造器)

        根据配置信息(eg:mybatis-config.xml)或者代码来生成SqlSessionFactory

    SqlSessionFactory(工厂接口)

        依靠工厂来生成SqlSession

    SqlSession(类似于JDBC的Connection)

        线程不安全

        获取映射器,让映射器通过命名空间和方法名称找到对应SQL,发送给 数据库执行后返回结果。

        直接通过命名信息去执行SQL返回结果(iBatis版本留下的方式)

    SQL Mapper(映射器)

        MyBatis新组件,通常由一个Java Interface和XML文件构成,需给出对应的SQL和映射规则。

        负责发送SQL去执行,并返回接口。

框架 搭建


-src

    -java

     -SQLDao

    -MessageModel<POJO类>

       -SQLHandle<Mapper接口>

     -TestSQL<运行Test>

    -resource

    -message.xml<MapperXML文件 >

         -mybatis-configure.xml<配置文件>


mybatis-configure.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>
<!-- 实体类别名,对应映射文件中的resultType -->
<typeAliases>
<typeAlias alias="message" type="SQLDao.MessageModel"/>
</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://localhost:3306/testdb" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments> <!-- 实体与数据库表映射文件位置,配置后MyBatis才会找到并加载上 -->
<mappers>
<mapper resource="message.xml" />
</mappers>
</configuration>

MessageModel

package SQLDao;

public class MessageModel {
public int CarID;
public int postionX;
public int postionY;
public int speed; public int getCarID() {
return CarID;
} public void setCarID(int carID) {
CarID = carID;
} public int getPostionX() {
return postionX;
} public void setPostionX(int postionX) {
this.postionX = postionX;
} public int getPostionY() {
return postionY;
} public void setPostionY(int postionY) {
this.postionY = postionY;
} public int getSpeed() {
return speed;
} public void setSpeed(int speed) {
this.speed = speed;
}
}

SQLHandle

package SQLDao;

public interface SQLHandle {
public int addhistory(MessageModel model);
}

TestSQL

package SQLDao;

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 java.io.IOException;
import java.io.Reader; public class TestSQL {
/**
* SqlSessionFactory是用来创建SqlSession的工厂,SqlSession会执行映射的语句,进行事物提交、回滚等。
*
* @return
*/
public static SqlSessionFactory getSqlSessionFactory() {
Reader reader = null;
SqlSessionFactory sqlSessionFactory = null;
try {
reader = Resources.getResourceAsReader("mybatis-configure.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
return sqlSessionFactory;
} public static void selectUserByID() {
// 得到SqlSession实例,便于执行增删改查、事务提交回滚等操作。
SqlSession session = getSqlSessionFactory().openSession();
MessageModel messageModel = new MessageModel();
messageModel.setCarID(1);
messageModel.setPostionX(2);
messageModel.setPostionY(3);
messageModel.setSpeed(4);
try {
SQLHandle handle=session.getMapper(SQLHandle.class);
handle.addhistory(messageModel);
} finally {
session.close();
}
} public static void main(String[] args) {
selectUserByID();
}
}

MyBatis 基本构成与框架搭建的更多相关文章

  1. Spring MVC+Spring+Mybatis+MySQL(IDEA)入门框架搭建

    目录 Spring MVC+Spring+Mybatis+MySQL(IDEA)入门框架搭建 0.项目准备 1.数据持久层Mybatis+MySQL 1.1 MySQL数据准备 1.2 Mybatis ...

  2. MyBatis高级及其SSM框架搭建

    代码生成器 首先meaven项目中导入支持包 <dependencies> <!-- https://mvnrepository.com/artifact/mysql/mysql-c ...

  3. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...

  4. mybatis框架搭建学习初步

    mybatis框架搭建步骤:1. 拷贝jar到lib目录下,而且添加到工程中2. 创建mybatis-config.xml文件,配置数据库连接信息 <environments default=& ...

  5. SSM框架搭建web服务器实现登录功能(Spring+SpringMVC+Mybatis)

    初学java EE,虽然知道使用框架会使开发更加便捷高效,但是对于初学者来说,感到使用框架比较迷惑,尤其是各种jar包的引用.各种框架的配置.注解的使用等等. 最好的学习方法就是实践,于是下载了一个现 ...

  6. 权限管理系统之项目框架搭建并集成日志、mybatis和分页

    前一篇博客中使用LayUI实现了列表页面和编辑页面的显示交互,但列表页面table渲染的数据是固定数据,本篇博客主要是将固定数据变成数据库数据. 一.项目框架 首先要解决的是项目框架问题,搭建什么样的 ...

  7. spring+mybatis+mina+logback框架搭建

    第一次接触spring,之前从来没有学过spring,所以算是赶鸭子上架,花了差不多一个星期来搭建,中间遇到各种各样的问题,一度觉得这个框架搭建非常麻烦,没有一点技术含量,纯粹就是配置,很低级!但随着 ...

  8. (一)springmvc+spring+mybatis+maven框架搭建

    (一)springmvc+spring+mybatis+maven框架搭建 1.说明 工作之余,为了学习点东西.先搭建个框架. 以后要往里面加东西,比如rabbitMQ.redis.shiro等. 也 ...

  9. SpringMVC+Mybatis框架搭建

    一.新建javaweb项目,并建好相应的包结构 二.添加项目jar到lib目录下 三.在config包中新建配置文件 sping-mvc.xml,内容如下: <?xml version=&quo ...

随机推荐

  1. LogViewer超大文本浏览工具

    官方下载 LogViewer 是一款简单好用的log日志文件查看工具.您想要查看log日志吗?那么不妨来看看这款LogViewer .该款工具可以在短短数秒内打开上G的LOG文件,支持高亮某行文字(例 ...

  2. js中定时器使用方法经验总结

    前言,最近在做一个音频播放项目的时候,碰到播放时间精度的问题,捣鼓了几天,最终巧妙的运用定时器去降低了错误发生频率 正题,下面是对定时器的使用总结,如有错误之处,请读者加以纠正. 延迟执行(1次) s ...

  3. HTML a的连接

    QQ电脑端 <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=XXXXXX&site ...

  4. 微信小程序实现watch属性监听数据变化

    Vue 提供了一种通用的方式来观察和响应 Vue 实例上的数据变动:监听属性 watch. 虽然watch的滥用会导致性能不佳,但在一些情况下我们还是需要watch,使得代码更加简洁.逻辑更加清晰(其 ...

  5. Julia 1.0 中文文档

    欢迎来到Julia 1.0的文档. 请阅读发布博客文章,了解该语言的一般概述以及自Julia v0.6以来的许多更改.请注意,0.7版本与1.0一起发布,以提供1.0版本之前的软件包和代码的升级路径. ...

  6. Python编程从入门到实践,个人笔记

    3-9 晚餐嘉宾:在完场练习3-6时编写的程序之一中,使用len()打印一条消息,指出有多少位嘉宾来与你共进晚餐. 自己先写的程序如下: # coding=gbk #邀请一些人吃饭 per_list= ...

  7. 树莓派3B的WiFi中文乱码及搜索不到附近的WiFi_解决方案:

    -----------------------------------------------------------学无止境------------------------------------- ...

  8. pymyspl模块

    pymysql的下载和使用 该模块本质就是一个套接字客户端软件,使用前需要事先安装,能够让我们在 Python程序中操作数据库. pymysql模块的下载: 在Python安装文件中找到scripts ...

  9. AtCoder Grant Contest 10.F 博弈

    题意:给定一棵树,每个节点有个权值,Alice和Bob轮流进行操作,给定游戏起点指针指向节点C.不断进行下述操作. 1.将当前节点权值-1,然后将指针从该节点移动到相邻节点,出现一方不能移动(即指针指 ...

  10. 关于verilog中的signed类型

    在数字电路中,出于应用的需要,我们可以使用无符号数,即包括0及整数的集合:也可以使用有符号数,即包括0和正负数的集合.在更加复杂的系统中,也许这两种类型的数,我们都会用到. 有符号数通常以2的补码形式 ...